美文网首页
go 函数类型使用

go 函数类型使用

作者: 我就是小政政 | 来源:发表于2018-07-23 21:10 被阅读0次
函数变量 函数作为值
// 声明函数类型
 35 ⇥   type myfunc func() string
// 声明函数变量
 36 ⇥   fn := func() string { return "bbb" }
// 声明map
 38 ⇥   myMap := make(map[string]myfunc)
// map赋值
 39 ⇥   myMap["fn"] = fn
 40
 41 ⇥   fmt.Println("调用fn:", myMap["fn"]())
 42 ⇥   fmt.Println("显示fn:", myMap["fn"])
 43 ⇥   fmt.Println("显示fn:", fn)
 44 ⇥   fmt.Println("调用fn:", fn())

输出:

调用fn: bbb
显示fn: 0x10946c0
显示fn: 0x10946c0
调用fn: bbb
函数作为另一个函数的参数
package main

import "fmt"

// Greeting function types
type Greeting func(name string) string

// 函数作为另一个函数的参数
func say(g Greeting, n string) {
    fmt.Println(g(n))
}

func english(name string) string {
    return "Hello, " + name
}

func main() {
    say(english, "World")
}
为函数类型添加方法
package main

import "fmt"

// Greeting function types
type Greeting func(name string) string

// 为Greeting函数类型 添加方法
func (g Greeting) say(n string) {
    fmt.Println(g(n))
}

func english(name string) string {
    return "Hello, " + name
}

func main() {
    g := Greeting(english)
    g.say("World")
}

输出:
Hello World

相关文章

  • go 函数类型使用

    函数变量 函数作为值 输出: 函数作为另一个函数的参数 为函数类型添加方法 输出:Hello World

  • go 函数类型使用

    go 函数类型使用 函数变量 函数作为值 输出: 函数作为另一个函数的参数 为函数类型添加方法 输出:Hello ...

  • 自学go中(二)

    自学go中(二) 类型 byte,[]byte和string类型 defer(重点理解和使用类型) 推迟执行函数,...

  • go-day3

    go-day3 outline strings 和 strconv 使用 Go中的时间和日期类型 流程控制 函数详...

  • Go函数类型的使用

    人永远都无法知道自己该要什么,因为人只能活一次,既不能拿它跟前世相比,也不能在来生加以修正。没有任何方法可以检验哪...

  • golang内置类型和函数

    内置类型值类型: 引用类型:(指针类型) 内置函数Go 语言拥有一些不需要进行导入操作就可以使用的内置函数。它们有...

  • 第02天(函数、工程管理)_01

    01_无参无返回值函数的使用.go 02_普通参数列表.go 03_不定参数类型.go 04_不定参数传递.go ...

  • 没有函数名字的函数---匿名函数

    Go语言支持匿名函数,即在需要使用函数时再定义函数,匿名函数没有函数名只有函数体,函数可以作为一种类型被赋值给函数...

  • 第02天(函数、工程管理)_03

    11_函数类型.go 12_回调函数.go 13_匿名函数和闭包.go 14_闭包捕获外部变量的特点.go 15_...

  • golang系列教程

    Go包管理 Go开发工具 Go Doc 文档 Go 数组 Go 切片 Go Map Go 类型 Go 函数方法 G...

网友评论

      本文标题:go 函数类型使用

      本文链接:https://www.haomeiwen.com/subject/ochsmftx.html