我习惯了 Java 的 String ,我们可以传递 null 而不是 "" 来表示特殊含义,例如使用默认值。
在 Go 中,字符串是原始类型,因此我不能将 nil (null) 传递给需要字符串的参数。
我可以使用指针类型编写函数,如下所示:
func f(s *string)
所以调用者可以调用该函数
f(nil)
或者
// not so elegant
temp := "hello";
f(&temp)
但不幸的是,以下是不允许的:
// elegant but disallowed
f(&"hello");
拥有一个接收字符串或 nil 的参数的最佳方法是什么?