嗨,我想记录一个变量的值,如果它不是零,否则我想打印其他任何东西
例如:
var point *string
var point2 *string
p:="hi"
point2=&p
fmt.Printf("%v,%v",*point,*point2)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我会因为 point 为 nil 而出现错误,所以有没有办法打印变量的值如果它不是 nil 或者如果它是 nil 打印其他任何东西?
我想以一种简单的方式做到这一点,而不是创建一个 if/else 语句来检查变量是否为 nil
由于Go中没有?:运算符,所以最好的方法是编写一个函数:
func StringPtrToString(p *string) string {
if p != nil { return *p }
return "(nil)"
}
Run Code Online (Sandbox Code Playgroud)