我正在写一个骰子滚动功能。为了添加每个die的结果,我使用for循环添加到输出变量。但是,当我尝试构建时,我收到了一个错误;
语法错误:意外的分号或换行符,期待{
这是在初始化for循环的行上抛出的。 这是我的代码:
for i := 0; i < [0]si; i++ {
output := output + mt.Intn([1]si)
}
si只是一个包含2个值的int数组,mt是我在导入时给math / rand命名的名称。
答案 0 :(得分:1)
你的循环有几个问题:
x[i]
会为您提供切片x
的 i 元素。i
的引用,因此循环的每次迭代都会做同样的事情。output = output + ...
。否则,在循环的每次迭代期间声明一个新变量output
,并在之后立即忘记,以便循环无效。编译器错误可能是由第一个问题引起的。
答案 1 :(得分:0)
您可以在Go中访问带有varname [idx]的数组,就像在大多数其他语言中一样。只有在声明类型为si的新数组时,才使用[size] si前缀语法。您收到错误是因为您的代码在语法上无效。您正在尝试将i与0 si的数组进行比较。