Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Types 如何声明Go中另一个包的类型为的变量?_Types_Go - Fatal编程技术网

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

Types 如何声明Go中另一个包的类型为的变量?,types,go,Types,Go,例如: package foo import ( "appengine/blobstore" ) func main() { var blob blobstore.BlobInfo ... } 给我这个错误: 未定义:BlobInfo 有没有一种方法可以让我在不复制代码的情况下创建此结构?如果blobstore.BlobInfo是一种类型,则在另一个包中声明该类型的变量,如: var blob blobstore.BlobInfo 语法 var foo = bar

例如:

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

对不起,我是说var blob blobstore.BlobInfo。我已经编辑了这个问题。