从不同的包访问结构上的方法

时间:2015-05-23 14:01:51

标签: go

我的问题与this有些关联,而不是扩展现有的类型,我试图创建自己的类型。我的目标是拥有这样的东西,来自java

JsonClient j = new JsonClient()
j.setUrl("x.com")
j.setMethod(GET)
j.setData("{crap: morecrap}")
String result = j.send

但是我能做的最好就是

config := jsonclient.Config{}
config.Url = "http://foaas.com/version"
config.Data = []byte(`{datadatadata}`)
config.Method = "GET"

s, err := jsonclient.NewClient(&config)
checkErr(err)

response := jsonclient.Dial(s)

我不希望只有一个配置对象来设置jsonclient 例如,因为它只有意义,不要打我,jsonclient 所以我应该能够做jsonclient.SetUrl等等,接缝更多 高效,将帮助我理解我遗漏的几个关键点 在去。

您可以找到jsonclient here

1 个答案:

答案 0 :(得分:4)

如果导出这些方法(即以大写字母开头),您可以从另一个包调用类型的方法。因此,没有什么能阻止您将此类方法添加到您的类型中:您只需要将它们命名为例如: SetUrl代替setUrl