gpt4 book ai didi

for-loop - 如何在 Go 中为循环变量声明变量类型?

转载 作者:IT王子 更新时间:2023-10-29 02:27:31 25 4
gpt4 key购买 nike

查看这段代码。

package main

import (
"fmt"
)

func main() {
var arr [4]string = [4]string{"foo", "bar", "baz", "qux"}

for a, b := range arr {
fmt.Println(a, b)
}

// How can I fix this code?
/*
for x int, y string = range arr {
fmt.Println(a, b)
}
*/
}

第一个 for 循环使用 := 运算符自动推导出 ab 的类型。但是如果我想明确指定循环变量的类型怎么办?我尝试这样做是在第二个注释代码块中,当然失败并出现以下错误。

# command-line-arguments
./foo.go:15: syntax error: unexpected name, expecting {
./foo.go:18: syntax error: unexpected }

你能帮我修复第二个代码块,让我可以明确指定 xy 的类型吗?

最佳答案

不幸的是,语言规范不允许您在 for 循环中声明变量类型。你能得到的最接近的是:

var a int
var b string
for a, b = range arr {
fmt.Println(a, b)
}

但通常如果你给你的变量起有意义的名字,它们的类型也会很清楚:

for index, element := range arr {
fmt.Println(index, element)
}

关于for-loop - 如何在 Go 中为循环变量声明变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43567914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com