Je suis habitué à Java's String où nous pouvons passer null plutôt que "" pour des significations spéciales, comme utiliser une valeur par défaut.Comment avoir une fonction avec un paramètre de chaîne Nullable dans Go?
Dans Go, chaîne est un type primitif, donc je ne peux pas passer nil (null) à un paramètre qui nécessite une chaîne.
Je pourrais écrire la fonction en utilisant le type de pointeur, comme ceci:
func f(s *string)
si l'appelant peut appeler cette fonction soit comme
f(nil)
ou
// not so elegant
temp := "hello";
f(&temp)
mais ce qui suit malheureusement pas permis:
// elegant but disallowed
f(&"hello");
Quelle est la meilleure façon d'avoir un paramètre qui reçoit soit une chaîne ou nil?
Je crois que vous devez abandonner Java et vous habituer à aller à la place. Pourquoi avez-vous besoin de passer un zéro au lieu d'une chaîne? Que veux-tu accomplir? ps. vous pouvez également utiliser fmt.Printf (* new (string)) - qui est 'zéro' pour la chaîne de caractères –