【问题标题】:How do I declare a variable with a type from another package in Go?如何使用 Go 中另一个包中的类型声明变量?
【发布时间】:2013-02-18 04:32:38
【问题描述】:

例如:

package foo

import (
    "appengine/blobstore"
)

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

给我这个错误: 未定义:BlobInfo

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

【问题讨论】:

    标签: types go


    【解决方案1】:

    如果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。我已经编辑了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多