如果指针不为零,我如何记录指针的值,否则在 GO 中记录为零?

Sai*_*ifi 7 go

嗨,我想记录一个变量的值,如果它不是零,否则我想打印其他任何东西

例如:

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

Rol*_*lig 1

由于Go中没有?:运算符,所以最好的方法是编写一个函数:

func StringPtrToString(p *string) string {
    if p != nil { return *p }
    return "(nil)"
}
Run Code Online (Sandbox Code Playgroud)