Valeur par défaut en Aller de la méthode
Est-il un moyen de spécifier la valeur par défaut dans le jeu de Go est la fonction? Je suis en train de le trouver dans la documentation mais je ne trouve rien qui indique que c'est encore possible.
func SaySomething(i string = "Hello")(string){
...
}
Vous devez vous connecter pour publier un commentaire.
Non, les pouvoirs que Google a choisi de ne soutenir que.
https://groups.google.com/forum/#!topic/golang-noix/-5MCaivW0qQ
PAS,mais il ya quelques autres options pour mettre en œuvre la valeur par défaut. Il y a quelques de bons messages de blog sur le sujet, mais voici quelques exemples spécifiques.
Option 1: L'appelant choisit d'utiliser les valeurs par défaut
Option 2: Un seul paramètre facultatif à la fin
Option 3: Une config struct
Option 4: Plein variadic argument de l'analyse (de style javascript)
func Concat1(a string = 'foo', b int = 10) string {
comme dans la plupart des autres langues modernes... Elle permettrait de réduire un des exemples donnés à peu près à une seule ligne de code.Non, il n'y a aucun moyen de spécifier des valeurs par défaut. J'ai croyant ceci est fait à dessein pour améliorer la lisibilité, au coût d'un peu plus de temps (et, espérons-le, de la pensée) sur l'écrivain à la fin.
Je pense que la bonne approche pour avoir un "défaut" est d'avoir une nouvelle fonction qui fournit que le défaut de le plus de la fonction générique. Ainsi, votre code devient plus clair sur votre objectif. Par exemple:
Avec très peu d'effort, j'ai fait une fonction qui fait une chose commune et réutilisé la fonction générique. Vous pouvez les voir dans de nombreuses bibliothèques,
fmt.Println
par exemple, juste ajoute un saut de ligne à cefmt.Print
ne le feraient autrement. Lors de la lecture de quelqu'un de code, cependant, il est clair qu'il a l'intention de le faire par la fonction qu'ils appellent. Avec les valeurs par défaut, je ne sais pas ce qui est censé se produire sans aussi la fonction pour faire référence à ce que la valeur par défaut est réellement.