英文:
How to initialize a variable with slice of pointers to string?
问题
以下是代码的翻译:
package main
type T struct {
m1 *string
m2 *string
m3 *string
m4 *string
}
type SliceT = []*T
func main() {
sliceT := SliceT{
{
m1: "0000000001", // & 操作符适用于变量,但不适用于无类型字符串常量
m2: "00000002",
m3: "abc",
m4: "def",
},
{
m1: "0001",
m2: "0000012",
m3: "aaa",
m4: "bbb",
},
{
m1: "00003",
m2: "002",
m3: "ccc",
m4: "fff",
},
}
}
如何初始化 sliceT
?复合字面量在这里无法帮助...
英文:
Below is the code:
package main
type T struct {
m1 *string
m2 *string
m3 *string
m4 *string
}
type SliceT = []*T
func main() {
sliceT := SliceT{
{
m1: "0000000001", // & operator works on variable but not on untyped string constant
m2: "00000002",
m3: "abc",
m4: "def",
},
{
m1: "0001",
m2: "0000012",
m3: "aaa",
m4: "bbb",
},
{
m1: "00003",
m2: "002",
m3: "ccc",
m4: "fff",
},
}
}
How to initialize sliceT
? composite literal does not help here..
答案1
得分: 3
使用一个简单的辅助函数:
func str(s string) *string {return &s}
...
m1: str("0000000001"),
...
请注意,这个辅助函数的作用是将字符串转换为指向字符串的指针。在示例中,m1
的值被设置为指向字符串"0000000001"的指针。
英文:
Use a simple helper:
func str(s string) *string {return &s}
...
m1: str("0000000001"),
...
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论