如何在Go中声明另一个包中的类型变量?
问题描述:
package foo
import (
"appengine/blobstore"
)
func main() {
var blob blobstore.BlobInfo
...
}
给了我这个错误: 未定义:的BlobInfo
有没有办法对我来说,能够无需将代码拷贝过来创建这个结构?
答
如果blobstore.BlobInfo
那么一个类型声明类型的变量在另一个包等:
var blob blobstore.BlobInfo
语法
var foo = bar.Qux
尝试创建VAR foo
并通过分配给它的初始化它值的bar.Qux
,同时推断bar.Qux
的类型。
编辑:
要声明类型T的可变
var v T
T能够来自其他包。例如对于
import "foo/bar"
import baz "qux"
import . "whatever"
var v1 bar.T
var v2 baz.T
var v3 T // whatever.T
如果这并不为你工作那么一些可能出现的问题有:
- 包
blobstore
不instaled。 - 使用OP中显示的导入路径在GOPATH中找不到包
blobstore
。
对不起,我的意思是var blob blobstore.BlobInfo。我编辑了这个问题。 – CookieOfFortune 2013-03-04 06:48:49
它现在有效,但我认为我的错误实际上是在其他地方。 – CookieOfFortune 2013-03-04 07:14:31