在golang中通过引用初始化函数

时间:2016-05-12 15:21:59

标签: go

如果我有一个以引用作为参数的函数,并且我想使用该函数来初始化变量,我需要在init()函数中执行此操作。该解决方案有效,但它对我来说闻起来并不正确。

是否有另一种初始化包变量的方法,比如使用init()函数?

我认为必须有更好的方法。我已经考虑过一个包装函数,但这会使logik变得更好。

我准备了一个简短的例子     包主要

@XmlSeeAlso

https://play.golang.org/p/8vjZw7cxVz

1 个答案:

答案 0 :(得分:1)

没关系,或者你可以做一个指针并像这样分配它:

var a = make("abc")

func main() {
    fmt.Println(*a)
}

func make(s string) *string {
    return &s
}

playground