我正在学习GO,使用“游览之旅” 代码做了非常简单的事情,将第一个和最后一个组合在一起并在屏幕上输出 运行代码后,输出是十六进制地址而不是“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)
}
答案 0 :(得分:5)
使用方法的结果
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())
}
输出:
aaabbb
答案 1 :(得分:5)
您没有调用函数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())
}