Java 言語関数と Go 言語関数の主な違いは次のとおりです: 関数の作成: Java では型を明示的に指定する必要がありますが、Go には型推論があります。パラメータの数: Java では固定、Go では変数 (可変長パラメータ)。戻り値の数: Java は 1 つだけを返しますが、Go は複数 (タプル) を返すことができます。値渡しと参照渡し: Java は値渡し、Go はデフォルトで参照渡しです。
Java関数とGo言語関数の違い
概要
JavaとGoという2つのプログラミング言語では関数処理に違いがあります。この記事では、Java 関数と Go 言語関数の主な違いを紹介します。
関数を作成する
Java では、以下に示すように、関数は public static
キーワードを使用して宣言されます。 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> 次のようにキーワードから始めます: func sum(a, b int) int {
return a + b
}
ログイン後にコピーログイン後にコピー型推論 Java では、関数宣言でパラメーターの型と戻り値の型を明示的に指定する必要があります。 Go 言語には、パラメーターの値に基づいて自動的に型を推論できる型推論機能があります。 func sum(numbers ...int) int {
total := 0
for _, num := range numbers {
total += num
}
return total
}
ログイン後にコピーパラメータの数 Java関数のパラメータの数は固定されている必要があります。 Go言語の関数のパラメータの数は可変であり、これを「可変長パラメータ」と呼びます。 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
}
ログイン後にコピー戻り値の数Java関数は1つの値のみを返すことができます。 Go 言語の関数は、「タプル」と呼ばれる複数の値を返すことができます。 // Java
public static void changeValue(int value) {
value = 100;
}
ログイン後にコピー値渡しと参照渡しJava 関数は値渡しを使用します。つまり、パラメーター値のコピーが渡されます。 Go 言語関数はデフォルトで参照渡しを使用します。つまり、パラメーターの参照が渡されます。 // Go
func changeValue(value *int) {
*value = 100
}
ログイン後にコピーerrree実際的なケース 以下は、Java 言語関数と Go 言語関数の違いを示す、2 つの数値の合計を計算する関数です: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
}
ログイン後にコピーGo 言語func sum(a, b int) int {
return a + b
}
func main() {
result := sum(10, 20)
println(result) // 输出:30
}
ログイン後にコピーこの例からわかるように、Java 関数のパラメータと戻り値の型は明示的に指定する必要がありますが、Go 言語関数は型推論と可変長パラメータをサポートしています。 🎜以上がJava 関数と Go 言語関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。