La principale différence entre les fonctions du langage Java et Go est la suivante : Création de fonctions : Java nécessite de spécifier explicitement des types, tandis que Go a une inférence de type. Nombre de paramètres : Fixe en Java, variable en Go (paramètres de longueur variable). Nombre de valeurs de retour : Java ne peut en renvoyer qu'une, Go peut en renvoyer plusieurs (tuples). Passer par valeur et passer par référence : Java passe par valeur, Go passe par référence par défaut.
La différence entre les fonctions Java et les fonctions du langage Go
Aperçu
Il existe des différences dans le traitement des fonctions entre les deux langages de programmation Java et Go. Cet article présentera les principales différences entre les fonctions Java et les fonctions du langage Go.
Créer une fonction
En Java, une fonction est déclarée à l'aide du mot-clé public static
, comme indiqué ci-dessous : public static
关键字,如下所示:
public static int sum(int a, int b) { return a + b; }
在 Go 语言中,函数声明以 func
func sum(a, b int) int { return a + b }
func< /code> Commencez par le mot-clé, comme ceci : func sum(a, b int) int {
return a + b
}
Copier après la connexionCopier après la connexionInférence de typeJava nécessite une spécification explicite des types de paramètres et des types de valeurs de retour dans les déclarations de fonction. Le langage Go dispose d'une fonction d'inférence de type qui peut automatiquement déduire des types en fonction des valeurs des paramètres. func sum(numbers ...int) int {
total := 0
for _, num := range numbers {
total += num
}
return total
}
Copier après la connexionNombre de paramètresLe nombre de paramètres d'une fonction Java doit être fixe. Le nombre de paramètres des fonctions du langage Go peut être variable, ce que l'on appelle « paramètres de longueur variable ». func minMax(numbers ...int) (int, int) {
min := numbers[0]
max := numbers[0]
for _, num := range numbers {
if num < min {
min = num
}
if num > max {
max = num
}
}
return min, max
}
Copier après la connexionNombre de valeurs de retourLes fonctions Java ne peuvent renvoyer qu'une seule valeur. Les fonctions du langage Go peuvent renvoyer plusieurs valeurs, appelées « tuples ». // Java
public static void changeValue(int value) {
value = 100;
}
Copier après la connexionPassage par valeur et passage par référenceLes fonctions Java utilisent le passage de valeur, c'est-à-dire qu'une copie de la valeur du paramètre est transmise. La fonction du langage Go utilise le passage de référence par défaut, c'est-à-dire que la référence du paramètre est passée. // Go
func changeValue(value *int) {
*value = 100
}
Copier après la connexionrrreeCas pratiqueCe qui suit est une fonction qui calcule la somme de deux nombres, montrant la différence entre les fonctions du langage Java et Go :Java
public static int sum(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = sum(10, 20);
System.out.println(result); // 输出:30
}
Copier après la connexionLe langage Gofunc sum(a, b int) int {
return a + b
}
func main() {
result := sum(10, 20)
println(result) // 输出:30
}
Copier après la connexionGrâce à cet As Comme le montre l'exemple, les types de paramètres et de valeurs de retour des fonctions Java doivent être explicitement spécifiés, tandis que les fonctions du langage Go prennent en charge l'inférence de type et les paramètres de longueur variable. 🎜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!