go - GO 新手,在条件内分配错误
问题描述
下面的代码出现错误,即在条件内分配的 a 和 b 未使用:
package main
import "fmt"
//FizzBuzz n = 100
// Multiple of 3 output Fizz
//Multiple of 5 output Buzz
//Multiple of 3 and 5, FizzBuzz
func main(){
for i:=0; i<=100; i++{
a:= ""
b:= ""
if i%3 == 0 {
a:="Fizz"
}
if i%5 == 0{
b:="Buzz"
}
fmt.Println("number ",i,": ", a , b )
}
}
谢谢,
解决方案
:=
在当前范围内创建一个新变量。
a := ""
b := ""
if i%3 == 0 {
a := "Fizz" // this creates a new "a", which shadows the outer "a" until the '}'
}
对于你想要的任务=
。
a:= ""
b:= ""
if i%3 == 0 {
a = "Fizz" // the original "a" is re-assigned
}
(同上b
)
推荐阅读
- mysql - 错误:加载本地数据被禁用 - 这必须在客户端和服务器端都启用
- github - 如何从远程 git repo 中删除最后一次提交?
- python - Python通过字符串更新json文件
- python - 为什么在外部执行 Python 文件时会出现“NameError: name not defined”?
- azure - 获取正在运行的 Kubernetes Pod 内存中的文件列表
- python - 在使用 python 进行网络抓取时,是否有任何直接的方法可以从输出中删除 \xa0
- function - 用递归函数替换lool
- php - Phpmailer oauth2 - 需要专家
- angular - 在 Azure App Service 下运行的远程调试 Angular
- android - Flutter:使用带有 BottomNavigationBar 的可扩展文本字段