为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

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


var a = make("abc")


func main() {

    fmt.Println(*a)

}


func make(s string) *string {

    return &s

}


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信