本篇文章给大家分享《如何在不定义数组大小的情况下将数组传递给 Go 函数?》,覆盖了golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握
本篇文章给大家分享《如何在不定义数组大小的情况下将数组传递给 Go 函数?》,覆盖了golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
问题内容我尝试定义一个数组,将其传递给未定义参数大小的函数,但是会发生错误。
package main
import "fmt"
func main() {
var a=[5]int{1,2,3,4,5}
f(a,5)
fmt.Println(a)
}
func f(arr []int,size int) {
for i,x:=range arr {
fmt.Println(i,x)
arr[i]=100
}
}
不能在 f 的参数中使用 (type [5]int) 作为类型 []int
您可以将数组转换为内联切片,如下所示:
f(a[:],5)
Playground
更多背景信息请参阅:https://blog.golang.org/go-slices-usage-and-internals
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。
--结束END--
本文标题: 如何在不定义数组大小的情况下将数组传递给 GO 函数?
本文链接: https://www.lsjlt.com/news/596821.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0