我目前正在编写一个程序,我想随机生成一个矩阵。
目前我正在预先设置其中的值如下:
m1 := [3][3]int{
[3]int{1, 1, 1},
[3]int{4, 1, 7},
[3]int{1, 65, 1},
}
但是我希望输入的值在 1-100 的范围内随机生成。
import "math/rand"
我正在导入上述库并尝试使用它。
我试图让这个工作,但似乎无法取得任何进展。
m1 := [3][3]int{
[3]int{rand.Intn, 1, 1},
[3]int{4, 1, 7},
[3]int{1, 65, 1},
}
我试图用上述解决方案来完成它以使第一个数字随机,但是我收到以下错误。
cannot use rand.Intn (type func(int) int) as type int in array or slice literal
非常感谢任何帮助。
最佳答案
直接的答案是 rand.Intn()
生成一个介于 0 和 n
之间的随机整数,其中 n
是一个参数到这个方法。您得到的错误是编译器提示您正在尝试使用需要两个 int
并返回一个的函数来初始化 int
值 - 您正在尝试分配int
的函数。所以正确的调用应该是 rand.Intn(100)
,它会给你一个 0 - 100 之间的随机数。
但是,为什么要这样做呢?为什么不使用随机数动态初始化数组:
m1 := [3][3]int{}
for i:=0; i<3; i++ {
for j:=0; j<3; j++ {
m1[i][j] = rand.Int()
}
}
关于matrix - 在Golang中随机生成一个矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116183/