Quel est le zéro pour la chaîne?

func NewKey(c appengine.Context, kind, ssortingngID ssortingng, intID int64, parent *Key) *Key 

La documentation dit:

NewKey crée une nouvelle clé. genre ne peut pas être vide. L’un ou les deux de ssortingngID et intID doivent être zéro . Si les deux sont à zéro, la clé renvoyée est incomplète. parent doit soit être une clé complète, soit nulle.

Quel est le zéro pour la chaîne?

J’ai essayé 0 et nil , et j’ai eu des erreurs comme:

 cannot use nil as type ssortingng in function argument 

C’est "" :

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

Une chaîne ne peut pas être nulle (mais une *ssortingng peut être).

Vous pouvez simplement tester

 if ssortingngId=="" { 

Pour passer une chaîne zéro dans ssortingngID , utilisez

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

De la spécification :

Lorsque la mémoire est allouée pour stocker une valeur, soit par une déclaration, soit par un appel à make ou à new, et qu’aucune initialisation explicite n’est fournie, la mémoire reçoit une initialisation par défaut. Chaque élément d’une telle valeur est défini sur la valeur zéro pour son type: false pour les booléens, 0 pour les entiers, 0.0 pour les flottants, “” pour les chaînes et nil pour les pointeurs, fonctions, interfaces, tranches, canaux et cartes.

 var str ssortingng fmt.Println(str == "") 

mettez ci-dessus dans votre script, et allez le lancer.

vous pouvez obtenir le vrai, la valeur par défaut de la chaîne de golang est “”.

dans ce cas, chaîne vide, ou vous pouvez utiliser NewIncompleteKey ()