ホームページ >Java >&#&チュートリアル >Java 関数と Go 言語関数の違いは何ですか?

Java 関数と Go 言語関数の違いは何ですか?

王林
王林オリジナル
2024-04-23 15:18:01396ブラウズ

Java 言語関数と Go 言語関数の主な違いは次のとおりです: 関数の作成: Java では型を明示的に指定する必要がありますが、Go には型推論があります。パラメータの数: Java では固定、Go では変数 (可変長パラメータ)。戻り値の数: Java は 1 つだけを返しますが、Go は複数 (タプル) を返すことができます。値渡しと参照渡し: Java は値渡し、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
}

Go 言語では、関数は func 次のようにキーワードから始めます: <p><pre class='brush:go;toolbar:false;'>func sum(a, b int) int { return a + b }</pre><strong></strong>型推論</p> <p></p> Java では、関数宣言でパラメーターの型と戻り値の型を明示的に指定する必要があります。 Go 言語には、パラメーターの値に基づいて自動的に型を推論できる型推論機能があります。 <p><pre class='brush:go;toolbar:false;'>func sum(numbers ...int) int { total := 0 for _, num := range numbers { total += num } return total }</pre><strong></strong>パラメータの数</p> <p></p> Java関数のパラメータの数は固定されている必要があります。 Go言語の関数のパラメータの数は可変であり、これを「可変長パラメータ」と呼びます。 <p><pre class='brush:go;toolbar:false;'>func minMax(numbers ...int) (int, int) { min := numbers[0] max := numbers[0] for _, num := range numbers { if num &lt; min { min = num } if num &gt; max { max = num } } return min, max }</pre><strong></strong>戻り値の数</p> <p></p>Java関数は1つの値のみを返すことができます。 Go 言語の関数は、「タプル」と呼ばれる複数の値を返すことができます。 <p><pre class='brush:java;toolbar:false;'>// Java public static void changeValue(int value) { value = 100; }</pre><strong></strong>値渡しと参照渡し</p> <p></p>Java 関数は値渡しを使用します。つまり、パラメーター値のコピーが渡されます。 Go 言語関数はデフォルトで参照渡しを使用します。つまり、パラメーターの参照が渡されます。 <p><pre class='brush:go;toolbar:false;'>// Go func changeValue(value *int) { *value = 100 }</pre>errree<strong></strong>実際的なケース</p> <p></p> 以下は、Java 言語関数と Go 言語関数の違いを示す、2 つの数値の合計を計算する関数です:<p><strong></strong>Java</p> <p><pre class='brush:java;toolbar:false;'>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 }</pre><strong></strong>Go 言語</p> <p><pre class='brush:go;toolbar:false;'>func sum(a, b int) int { return a + b } func main() { result := sum(10, 20) println(result) // 输出:30 }</pre></p>この例からわかるように、Java 関数のパラメータと戻り値の型は明示的に指定する必要がありますが、Go 言語関数は型推論と可変長パラメータをサポートしています。 🎜

以上がJava 関数と Go 言語関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。