如何在Go中声明另一个包中的类型变量?

问题描述:

例如:如何在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
+0

对不起,我的意思是var blob blobstore.BlobInfo。我编辑了这个问题。 – CookieOfFortune 2013-03-04 06:48:49

+0

它现在有效,但我认为我的错误实际上是在其他地方。 – CookieOfFortune 2013-03-04 07:14:31