去 fmt.打印显示错误的包含



我正在使用"围棋之旅"来学习围棋
代码正在做非常简单的事情,将第一个和最后一个组合在一起并在屏幕上输出。
在我运行代码后,输出是一个十六进制地址而不是"aaabbb"。谁能帮我?谢谢

package main
import "fmt"
type Name struct{
    first,last string
}
func (name Name) fullName() string{
    return (name.first + name.last)
}
func main(){
    v := Name{"aaa","bbb"}
    fmt.Println(v.fullName)
}

您没有fullName调用函数。 你只是将"指针"传递给它:请参阅此 http://play.golang.org/p/GjibbfoyH0

package main
import "fmt"
type Name struct {
    first, last string
}
func (name Name) fullName() string {
    return (name.first + name.last)
}
func main() {
    v := Name{"aaa", "bbb"}
    fmt.Println(v.fullName())
}

使用方法的结果

    fmt.Println(v.fullName())

不是方法的地址

    fmt.Println(v.fullName)

例如

package main
import "fmt"
type Name struct{
    first,last string
}
func (name Name) fullName() string{
    return (name.first + name.last)
}
func main(){
    v := Name{"aaa","bbb"}
    fmt.Println(v.fullName())
}

输出:

阿布布

最新更新