关于 Go 中的类型别名,我有点困惑。
据我所知,如果底层结构相同,未命名和命名变量可以相互分配。
我想弄清楚的是,我可以通过命名它们来扩展未命名的类型 - 像这样:
type Stack []string
func (s *Stack) Print() {
for _, a := range s {
fmt.Println(a)
}
}
这给了我错误cannot range over s (type *Stack)
Tried cast to []string,不行。
我知道下面的代码有效 - 这是我应该做的方式吗?如果是这样,我很想知道为什么上述方法不起作用,以及诸如type Name []string.
type Stack struct {
data []string
}
func (s *Stack) Print() {
for _, a := range s.data {
fmt.Println(a)
}
}
慕勒3428872
相关分类