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

时间:2013-03-04 06:11:06

标签: types go

例如:

package foo

import (
    "appengine/blobstore"
)

func main() {
    var blob blobstore.BlobInfo
    ...
}

给我这个错误: undefined:BlobInfo

有没有办法让我能够创建这个结构而无需复制代码?

1 个答案:

答案 0 :(得分:3)

如果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未安装。
  • 使用OP中显示的导入路径在您的GOPATH中找不到包blobstore