为什么不能在Go中将变量作为多维数组大小放置?

为什么不能在Go中将变量作为多维数组大小放置?,第1张

为什么不能在Go中将变量作为多维数组大小放置?

因为Go是一种静态类型的语言,这意味着需要在编译时知道变量的类型。

Go中的数组是固定大小的:在Go中创建数组后,以后就无法更改其大小。这是这样一种程度,即一个阵列的长度是阵列类型的一部分(这意味着类型

[2]int
[3]int
2层不同的类型)。

通常在编译时不知道变量的值,因此使用该变量的值作为数组长度,在编译时将不知道类型,因此不允许使用。

如果您在编译时不知道大小,请使用切片而不是数组(还有其他原因使用切片)。

例如此代码:

func addImage(path string, image string, Height int, Width int){    var Size int    Size = Width * Height    var Pix [Size][3]int    // use Pix}

可以转换为创建和使用像这样的切片:

func addImage(path string, image string, Height int, Width int){    var Size int    Size = Width * Height    var Pix = make([][3]int, Size)    // use Pix}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5476501.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存