gpt4 book ai didi

go - Stringers 接口(interface)是否仅适用于 golang 中的值接收器

转载 作者:数据小太阳 更新时间:2023-10-29 03:45:18 26 4
gpt4 key购买 nike

<分区>

全部:

只是一个简单的问题:

围棋教程中

https://tour.golang.org/methods/18

我尝试将 String() 方法实现为

func (ip *IPAddr) String() string {
return fmt.Sprintf("%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3])
}

我使用了指针接收器,但当它在 main() 中不起作用时

for n, a := range addrs {
fmt.Printf("%v: %v\n", n, a)
}

仍然显示 [127, 0, 0, 1]

只有当我将其更改为值接收者时它才有效:

func (ip IPAddr) String() string {
return fmt.Sprintf("%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3])
}

这是否意味着 fmt 只寻找 String() 的值接收者版本,还是我错过了我的实现的某些内容?

谢谢

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com