字符串的零是多少?

时间:2012-10-03 06:48:58

标签: string go

func NewKey(c appengine.Context, kind, stringID string, intID int64, parent *Key) *Key

文档说:

  

NewKey创建一个新密钥。善良不能空虚。一个或两个   stringID和intID必须。如果两者都为零,那么关键   返回是不完整的。父母必须是完整的密钥或零。

字符串的零是什么?

我尝试了0nil,我收到的错误如下:

cannot use nil as type string in function argument

2 个答案:

答案 0 :(得分:212)

那是""

var s string
fmt.Println(s=="") // prints "true"

字符串不能为零(但*string可以)。

您可以简单地测试

if stringId=="" {

要在stringID中传递零字符串,请使用

k := NewKey(c, "kind", "", 0, p)

来自the specification

  

当分配内存来存储值时,通过a   声明或调用make或new,并且没有明确的初始化   如果提供,则为存储器提供默认初始化。每   将此类值的元素设置为其类型的零值:false   对于布尔值,0表示整数,0.0表示浮点数,“”表示字符串,和nil   用于指针,函数,接口,切片,通道和地图。

答案 1 :(得分:0)

在这种情况下为空字符串,或者您可以使用NewIncompleteKey()