matrix - 在Golang中随机生成一个矩阵

标签 matrix go random

我目前正在编写一个程序,我想随机生成一个矩阵。

目前我正在预先设置其中的值如下:

    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/

相关文章:

arrays - 在大范围内解析为数组 VBA 的最有效方法

for-loop - Golang 赋值

go - 无效的golang配置文件输出格式

javascript - 如何使用javascript中的if语句根据随机数显示/隐藏文本(无jquery)

algorithm - 相同数的最大矩形子矩阵

python - 构造相似度矩阵的最有效方法

go - 如何在cgo参数中编写注释

javascript - 从 Javascript 嵌套数组/数据结构中选择随机项

random - LibGDX 内部调用 MathUtils.random() 干扰生成的随机数序列

c - Strassen 矩阵乘法的内存管理