在 for 循环中使用 int64 作为迭代器

Using int64 as an iterator in a for loop

在我的循环中,我将一些 int64 与我的迭代器相乘。为此,我需要将 i 显式声明为 int64。这个

var other int64 = 1597183200000 
for var i int64 = 0; i < 10; i++ {
    fmt.Println(i*other)
}

给出一个syntax error: var declaration not allowed in for initializer。有没有办法在循环的初始值设定项中正确执行此操作?另外,为什么不允许使用:=,而不允许使用var?他们做的不一样吗?

您必须在 for-loop 中使用简短的变量声明。由于 0 是一个无类型常量,它被假定为 int 除非你将它转换为不同的类型:

for i:= int64(0); i < 10; i++ {