Le projet open source d'inférence de type de valeur de retour du langage Go peut simplifier le développement du langage Go. Ces projets incluent : 1. goreflect : utilisez la réflexion pour identifier les fonctions et déduire les types de valeurs de retour ; 2. gotypes : utilisez les interfaces de type pour vérifier les valeurs et déduire les types de valeurs de retour ; 3. (*fonction).Returns : utilisez les aides fournies ; par la bibliothèque exp/slices La fonction déduit le type de valeur de retour.
Un projet open source pour l'inférence de type de valeur de retour du langage Go
L'inférence de type de valeur de retour vise à simplifier le processus de développement du langage Go en déduisant automatiquement le type de valeur de retour d'une fonction. Voici quelques projets open source qui fournissent des implémentations de cette fonctionnalité :
1 goreflect
Cas pratique :
package main import ( "fmt" "github.com/joel/goreflect" ) func getSum(a, b int) { fmt.Println("The sum of", a, "and", b, "is", a+b) } func main() { returnType := goreflect.FuncSig(getSum).Returns() fmt.Println("The return type of getSum is", returnType) }
2. gotypes
Cas pratique :
package main import ( "fmt" "github.com/gobuffalo/gotypes" ) type MyString string func getStringValue(s MyString) { fmt.Println("The value of s is", s) } func main() { returnType, _ := gotypes.Guess(getStringValue) fmt.Println("The return type of getStringValue is", returnType) }
3 (*fonction).Returns
Cas pratique :
package main import ( "fmt" "golang.org/x/exp/slices" ) func getDifference(a, b int) int { return a - b } func main() { returnType := slices.FuncSig(getDifference).Returns() fmt.Println("The return type of getDifference is", returnType) }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!