Go 冒号等于运算符和一个新变量
短信预约 -IT技能 免费直播动态提醒
php小编新一在这里为大家介绍一项新的特性——Go 冒号等于运算符和一个新变量。这个运算符的作用是在Go语言中创建一个新的变量,同时将其初始化为一个表达式的值。这个特性的引入使得代码更加简洁和易读,同时也减少了冗余的代码量。通过使用冒号等于运算符,我们可以在声明变量的同时为其赋值,提高了代码的效率和可读性。在接下来的文章中,我们将详细介绍这个新特性的用法和注意事项,希望能给大家带来帮助和启发。
问题内容
这可能不是一个新问题,但我在任何地方都找不到答案。
使用此代码,在循环内的函数调用线上,:=
或 =
运算符都不起作用。
我有一个用例,我需要在 for 循环之外声明一次大数组并在函数中更新,然后传回。但该函数还返回另一个变量,该变量每次都不同并在该循环内使用。
去游乐场链接:1
import "fmt"
func someFunc(names []string) (int, []string) {
foo := 35 // Just for the example
names = append(names, "Bob")
return foo, names
}
func main() {
names := []string{"Fred", "Mary"}
for i := 0; i < 10; i++ {
newVariable, names := someFunc(names) // This line is the problem
fmt.Println(newVariable)
}
}
如何重构它以使其按预期工作?
解决方法
在 := 之前声明 newVariable 怎么样?
for i := 0; i < 10; i++ {
var newVariable int
newVariable, names = someFunc(names)
fmt.Println(newVariable)
}
以上就是Go 冒号等于运算符和一个新变量的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341