donglu9825 2016-05-01 13:50
浏览 14
已采纳

我可以在包内部创建结构以在主程序中使用吗

I was porting my npm nodule to go package and at one place i need to do this.

type Credentials struct {
    key string
    responseType  string
    subscription string
    locale string
}

type WwogcParams struct {
    name string
    value  string
}
func main() {
    param1 := WwogcParams{"q","Delhi"}
    wwogc := []WwogcParams{param1}

    credentials := Credentials{key: "keykeykle",responseType: "json",subscription: "premium",locale: "EN"}
....
}

The main function here is basically what the user will have to write but what I was thinking if the user can use the struct I have defined inside the package in his main() function.

Why I can't use the structure outside its package?

  • 写回答

1条回答 默认 最新

  • doupixian1436 2016-05-01 13:54
    关注

    Use uppercase names for the fields. Only uppercase names are visible outside the package.

    package something
    
    type Credentials struct {
       Key string
       ResponseType  string
       Subscription string
       Locale string
    }
    
    type WwogcParams struct {
        Name string
        Value  string
    }
    

    In main:

    package main
    
    import (
         "something"
    )
    
    func main() {
        param1 := something.WwogcParams {"q","Delhi"}
        wwogc := []something.WwogcParams {param1}
        credentials := something.Credentials {
            Key: "keykeykle", 
            ResponseType: "json",
            Subscription: "premium", 
            Locale: "EN"
        }
    }
    

    See Exported identifiers

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题