Golang 中有哪些常见的函数类型?

在 go 中,函数类型允许创建接受函数作为参数并返回函数的函数。其语法为:func(参数类型) 返回值类型。函数类型可通过使用 func 关键字声明为方法:func (p person) greet(msg string) {...}。实战案例中,创建了一个接受 stringprocessor 函数作为参数的函数,并使用匿名函数计算给定字符串的长度。

Golang 中有哪些常见的函数类型?

Go语言中常见的函数类型

函数类型允许我们创建接受一个或多个函数作为参数并返回一个函数的新函数。这在编写可重用和可组合代码时非常有用。

语法

在 Go 中,函数类型声明如下:

func(参数类型) 返回值类型

例如,下面是一个接受字符串参数并返回另一个字符串的函数类型:

type StringProcessor func(string) string

方法

我们可以使用 func 关键字将函数类型声明为方法:

type Person struct {
    Name string
}

func (p Person) Greet(msg string) {
    fmt.Println(p.Name, "says", msg)
}

实战案例

让我们创建一个函数,它接受一个 StringProcessor 函数作为参数,并将给定的字符串传递给该函数。我们使用这个匿名函数来计算给定字符串的长度:

func ProcessString(s string, p StringProcessor) int {
    return p(s)
}

func main() {
    s := "Hello, world!"
    length := ProcessString(s, func(s string) int { return len(s) })
    fmt.Println("Length of string:", length)
}

运行此代码将打印:

Length of string: 13

以上就是Golang 中有哪些常见的函数类型?的详细内容,更多请关注www.sxiaw.com其它相关文章!