如果我有一个将引用作为参数的函数,并且我想使用该函数来初始化一个变量,我需要在 init() 函数中执行此操作。该解决方案有效,但对我来说闻起来并不正确。
有没有另一种方法来初始化一个包的变量,比如使用 init() 函数?
我认为必须有更好的方法。我已经考虑过包装功能,但这使得逻辑并没有更好。
我准备了一个简短的示例包 main
import (
"fmt"
)
var a string
//A use of a function is not allowed
//foo(&a)
//Need to call init
func init() {
foo(&a)
}
func main() {
fmt.Println(a)
}
func foo(b *string) {
*b = "abc"
}
https://play.golang.org/p/GdBiDFB1KAe
Cats萌萌
相关分类