在Go中使用函数类型

我想创建某种类型的函数。我找到了一种方法,但是必须有其他更干净,更好的方法,其中不包括using var。有什么其他方法可以声明english类型的功能Greeting?


package main


import "fmt"


type Greeting func(name string) string


func (g Greeting) exclamation(name string) string {

    return g(name) + "!"

}


var english = Greeting(func(name string) string {

    return "Hello, " + name

})


func main() {

    fmt.Println(english("ANisus"))

    fmt.Println(english.exclamation("ANisus"))  

}

在上面的示例中,我无法var english = Greeting...与交换信息english := Greeting...,也不能删除Greeting(func ...),只能将其放在func一个单独的位置,因为那样我将无法使用感叹号方法。


森林海
浏览 207回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go