我正在尝试将 type 的值分配给 type*string的变量*wrapperspb.StringValue。但是,当*string为 nil 时,它会触发错误(请查看截取代码中的注释以了解是何种错误)。
这是我的代码的简化版本:
// You can edit this code!
// Click here and start typing.
package main
import (
"fmt"
"google.golang.org/protobuf/types/known/wrapperspb"
)
func main() {
var var1 *wrapperspb.StringValue
var1 = &wrapperspb.StringValue{Value: "test1"}
fmt.Println("var1:")
fmt.Println(var1)
var var2 *string
fmt.Println("var2:")
fmt.Println(var2)
//var1 = var2 // it says "Cannot use 'var2' (type *string) as the type *wrapperspb.StringValue"
//var1 = wrapperspb.String(*var2) // it says panic: runtime error: invalid memory address or nil pointer dereference
//fmt.Println("var1 with var2 value:")
//fmt.Println(var1)
}
有谁知道如何正确处理转换/分配?
这是一个 golang 游乐场:https ://go.dev/play/p/5JBfU0oEIC-
不负相思意
相关分类