你如何 return golang 中的非原始类型变量
How do you return a non primitive type variable in golang
你如何return golang中的非原始类型变量
看起来像 bigquery.NewClient
returns a (*Client, error)
,所以如果你想封装它,你可以只写一个 returns a *bigquery.Client
理想情况下,您希望将 helper go 文件实例化为 OOPS 术语中的单例。
package somehelper
type SomeData struct {
SubData1 SubDataType1
SubData2 SubDataType2
}
var singleton *SomeData
var once sync.Once
func Createsingleton(data1 SubDataType1, data2 SubDataType2) {
once.Do(func() {
singleton = &SomeData{SubData1:data1, SubData2: data2}
})
}
func GetSingleton() *SomeData {
if singleton == nil {
panic("SomeDataHelper needs to be instantiated!!!")
}
return singleton
}
func (i *SomeData) GetSubData1() SubData1{
return i.SubData1
}
你如何return golang中的非原始类型变量
看起来像 bigquery.NewClient
returns a (*Client, error)
,所以如果你想封装它,你可以只写一个 returns a *bigquery.Client
理想情况下,您希望将 helper go 文件实例化为 OOPS 术语中的单例。
package somehelper
type SomeData struct {
SubData1 SubDataType1
SubData2 SubDataType2
}
var singleton *SomeData
var once sync.Once
func Createsingleton(data1 SubDataType1, data2 SubDataType2) {
once.Do(func() {
singleton = &SomeData{SubData1:data1, SubData2: data2}
})
}
func GetSingleton() *SomeData {
if singleton == nil {
panic("SomeDataHelper needs to be instantiated!!!")
}
return singleton
}
func (i *SomeData) GetSubData1() SubData1{
return i.SubData1
}