相关疑难解决方法(0)

在Go中,如何自动将循环索引强制转换为uint?

我有几个函数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)

go

4
推荐指数
2
解决办法
140
查看次数

for循环的init语句中的变量声明

另一个初学者对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)

我在这里错过了一点吗?它有什么解释吗?

for-loop go

4
推荐指数
1
解决办法
3338
查看次数

标签 统计

go ×2

for-loop ×1