我正在使用Memcache Go API编写一个小代码来获取存储在其中一个键中的数据。以下是我使用的几行代码(得到Go app-engine docs的代码)
import "appengine/memcache"
item := &memcache.Item {
Key: "lyric",
Value: []byte("Oh, give me a home"),
}
但是第2行给了我一个编译错误 "期望的声明,发现' IDENT'项"
我是Go的新手,无法找出问题
答案 0 :(得分:30)
:=
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"),
}
答案 1 :(得分:0)
我遇到了同样的错误,但原因完全不同。
我使用了以下包名。
package go-example
好像不是一个有效的包名。删除连字符后,它起作用了。
答案 2 :(得分:0)
为名称为关键字的变量赋值时也会出现此错误 就像使用 var:= 2 这也会导致错误“预期声明,发现‘IDENT’项目” 所以改正名字就好了