在 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++ {
在我的循环中,我将一些 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++ {