为什么这不行?
package main import "fmt" type name struct { X string } func main() { var a [3]name a[0] = name{"Abbed"} a[1] = name{"Ahmad"} a[2] = name{"Ghassan"} nameReader(a) } func nameReader(array []name) { for i := 0; i < len(array); i++ { fmt.Println(array[i].X) } }
错误:
.\structtest.go:15: cannot use a (type [3]name) as type []name in function argument
您已经定义了您的函数来接受一个切片作为参数,而您尝试在调用该函数时传递一个数组。有两种方法可以解决这个问题:
nameReader(a[:])
>改变函数签名以取代数组而不是切片。例如:
func nameReader(array [3]name) { ... }
原文地址:https://www.jb51.cc/go/187068.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。