String için sıfır nedir?


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

Belgeler şunu söylüyor:

NewKey, yeni bir anahtar oluşturur. tür boş olamaz. StringID ve intID değerlerinden biri veya her ikisi de sıfır olmalıdır . Her ikisi de sıfırsa, döndürülen anahtar eksiktir. ebeveyn ya tam bir anahtar ya da sıfır olmalıdır.

String için sıfır nedir?

Denedim 0ve aşağıdaki nilgibi hatalar aldım:

cannot use nil as type string in function argument

Yanıtlar:


226

Bu "":

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

Bir dizge sıfır *stringolamaz (ancak bir kutu).

Basitçe test edebilirsiniz

if stringId=="" {

Bir sıfır dizesi geçirmek için şunu stringIDkullanın

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

Gönderen şartname :

Bellek, bir bildirim veya bir marka veya yeni çağrı yoluyla bir değeri depolamak için tahsis edildiğinde ve açık bir başlatma sağlanmadığında, belleğe varsayılan bir başlatma verilir. Böyle bir değerin her bir öğesi, türü için sıfır değerine ayarlanır: boole'lar için false, tamsayılar için 0, kayan değerler için 0,0, dizeler için "" ve işaretçiler, işlevler, arabirimler, dilimler, kanallar ve haritalar için sıfır.


Sıfır değerli bir dizge ve * dizge için basit bir test: var s dizesi; fmt.Println (s == "", * new (* string) == nil)
Tom J

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.