我可以在包中创建一个结构,以便在主程序中使用

时间:2016-05-01 13:50:19

标签: go

我正在移植我的npm结节去包装,在一个地方我需要这样做。

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"}
....
}

这里的主要功能基本上是用户必须编写的内容,但是如果用户可以使用我在main()函数中在包中定义的结构,我在想什么。

为什么我不能在包装外使用结构?

1 个答案:

答案 0 :(得分:2)

使用字段的大写名称。包装外只能看到大写名称。

package something

type Credentials struct {
   Key string
   ResponseType  string
   Subscription string
   Locale string
}

type WwogcParams struct {
    Name string
    Value  string
}

主要:

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"
    }
}

请参阅Exported identifiers