Go 字段类型指向字符串的指针(*string)
package main
import "fmt"
type DataPool struct {
BackendLogID *string
}
func main() {
// 创建一个字符串变量,并将其指针分配给BackendLogID字段
logID := "backend-log-123"
pool := DataPool{
BackendLogID: &logID,
}
// 通过指针访问BackendLogID字段的值
fmt.Println("BackendLogID:", *pool.BackendLogID) // 输出: BackendLogID: backend-log-123
// 修改BackendLogID字段的值
newLogID := "backend-log-456"
pool.BackendLogID = &newLogID
fmt.Println("BackendLogID:", *pool.BackendLogID) // 输出: BackendLogID: backend-log-456
}
这段代码定义了一个名为DataPool的结构体(struct),它包含一个名为BackendLogID的字段,该字段的类型是指向字符串的指针(*string)。
PS D:\TEXT\test> go run .\hello.go
BackendLogID: backend-log-123
BackendLogID: backend-log-456
PS D:\TEXT\test>
请注意,使用指针可以使多个结构体实例共享同一个字符串值,也可以方便地修改字段的值。