我正在玩Go并面对以下问题:
package main
import "fmt"
func main() {
var arr [2]*string
var s1 string = "hello"
arr[0] = &s1
arr[1] = &"world" // can't compile
fmt.Println(arr[0], arr[1])
fmt.Println(arr)
}
编译完上面的代码后,我得到了下一个错误:
prog.go:10: cannot take the address of "world"
我无法获取字符串文字地址的原因是什么? 如果有可能我该怎么做?
注意:我获得了s1
的地址。我应该总是为文字引入变量来取回他们的地址吗?