我有几个函数uint作为他们的输入:
func foo(arg uint) {...}
func bar(arg uint) {...}
func baz(arg uint) {...}
Run Code Online (Sandbox Code Playgroud)
我有一个循环,其限制都是常uint量值
const (
Low = 10
High = 20
)
Run Code Online (Sandbox Code Playgroud)
在接下来的循环中,我怎么能说我想i成为一个uint?编译器抱怨它是一个int.
for i := Low; i <= High; i++ {
foo(i)
bar(i)
baz(i)
}
Run Code Online (Sandbox Code Playgroud)
我真的不想调用uint(i)每个函数调用,并且执行以下操作是正确的,但让我觉得很脏:
var i uint
for i = Low; i <= High; i++ {
foo(i)
bar(i)
baz(i)
}
Run Code Online (Sandbox Code Playgroud) 另一个初学者对golang的问题:
我可以写:
for i := 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
但如果我想i成为一个特定的类型int64,显然我不应该写:
for var i int64 = 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
我很惊讶我无法在for循环的start语句中指定一个类型.我需要写这样的东西:
var i int64
for i = 0; i < 10; i++ {}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了一点吗?它有什么解释吗?