【问题标题】:expected declaration, found 'IDENT' item预期的声明,找到“IDENT”项目
【发布时间】:2015-05-10 14:08:19
【问题描述】:

我正在使用 Memcache Go API 编写一个小代码来获取存储在其中一个键中的数据。这是我使用的几行代码(从Go app-engine docs得到代码)

import "appengine/memcache"

item := &memcache.Item {
Key:   "lyric",
Value: []byte("Oh, give me a home"),
}

但是第 2 行给了我一个编译错误"expected declaration, found 'IDENT' item"

我是 Go 新手,无法弄清楚问题

【问题讨论】:

    标签: google-app-engine go memcached


    【解决方案1】:

    :=Short variable declaration 只能在函数内部使用。

    所以要么将item 变量声明放在这样的函数中:

    import "appengine/memcache"
    
    func MyFunc() {
        item := &memcache.Item {
            Key:   "lyric",
            Value: []byte("Oh, give me a home"),
        }
        // do something with item
    }
    

    或者将其设为全局变量并使用var 关键字:

    import "appengine/memcache"
    
    var item = &memcache.Item {
        Key:   "lyric",
        Value: []byte("Oh, give me a home"),
    }
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的错误,但原因完全不同。

      我使用的是以下包名。

      package go-example

      看起来,它不是一个有效的包名。删除连字符后,它起作用了。

      【讨论】:

        【解决方案3】:

        将值分配给名称为关键字的变量时也会出现此错误 就像使用 var:= 2 这也会导致错误“预期声明,找到'IDENT'项目” 所以改正名字就好了

        【讨论】:

          猜你喜欢
          • 2021-06-16
          • 1970-01-01
          • 2022-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-09
          • 2018-06-12
          • 1970-01-01
          相关资源
          最近更新 更多