这个为什么报错,麻烦解释一下

zhm0612 · 2017-05-24 09:47:47 · 1479 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-05-24 09:47:47 的主题,其中的信息可能已经有所发展或是发生改变。

var a int
var b int = 3
/* for 循环 */
for a := 0; a < 10; a++ {
    if a > b {
        fmt.Printf("a 的值为: %d\n", a)
    }
}

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1479 次点击  
加入收藏 微博
6 回复  |  直到 2017-06-16 06:10:24
zhm0612
zhm0612 · #1 · 8年之前

本人新手,不小心就提交了,是这样的,这个报a declared and not used ,我查询了,说a没有用,但是我不明白他的应用指的是怎么应用,如果我把b换成一个常量,好像也报这个问题,跪求

lixiaoya529
lixiaoya529 · #2 · 8年之前

外面定义的a没有使用。

hjli1988
hjli1988 · #3 · 8年之前

:= 就是定义并赋值的操作了,你前面定义了一个全局变量a就没有使用到了。修改方法:1.注释掉 var a int这一行;2.把a := 0修改成a = 0即可

dongsong1117
dongsong1117 · #4 · 8年之前

for a := 0 改成 for a = 0应该就没问题了,for语句内a := 0 等于定义了一个新局部变量a

jinjiashan
jinjiashan · #5 · 8年之前

应该是在不同的变量生存周期定义了同名的变量a, 生命周期长的那个a没有使用

PingD
PingD · #6 · 8年之前

:= 的意思是新申明一个变量

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传