首页 > 解决方案 > 如何获取指向连接字符串或默认类型(如 bool)的指针?

问题描述

我是 golang 的新手,正在努力思考如何在没有辅助函数的情况下获取指向连接字符串的指针,以及背后的原因是什么。bool 类型也是如此。

例如,我不能执行以下任一操作:

myBool := &true
myString := &string("foo" + someVar + "bar")

作为一种快速/肮脏的解决方法,我编写了接受布尔或字符串并返回指针的辅助函数。

例如:

func GetBoolPointer(i bool) *bool {
    return &i
}

这对我来说特别奇怪,因为我可以直接获得其他类型的指针,比如myVar := &SomeDefinedType.

标签: go

解决方案


您只能获取可寻址值的地址:

https://golang.org/ref/spec#Address_operators

文字不可寻址。您需要有一个变量来保存该值:

t:=true
myBool:=&t

推荐阅读