Goの関数

Go では、関数は特定のタスクを実行するコード ブロックであり、プログラム全体で再利用することでメモリを節約し、読みやすさを向上させ、時間を節約できます。Golang関数は呼び出し元に値を返す場合と返さない場合があります。

Goの関数

Golangの関数について知っておくべきこと

例えば:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

結果:

multiplication: 50

Golangの関数構文

func function_name(Parameter-list)(Return_type) {
    // function body...
}

関数宣言

Go では、関数は func キーワードで宣言され、その後に名前、パラメータ、オプションの戻り値の型が続きます。

構文

func function_name(Parameter-list)(Return_type) {
    // function body...
}

乗算関数の例

func multiply(a, b int) int {
    return a * b
}

func: 関数を宣言するためのキーワード。
function_name: 関数の名前、例:掛ける。
パラメータリスト: a、b int - パラメータとその型。
Return_type: int は戻り値の型を指定します。

呼び出し機能

関数を使用するには、必要な引数とともに関数の名前で関数を呼び出すだけです。ここで、multiply(5, 10) は510 を引数として関数を呼び出します。

例えば

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

関数の引数

Go は、関数にパラメータを渡す方法として、値による呼び出しと参照による呼び出しの 2 つの方法をサポートしています。デフォルトでは、Go は値渡しを使用します。つまり、値がコピーされ、関数内の変更は呼び出し元の変数に影響を与えません。

値による呼び出し

値呼び出しでは、引数の値が関数のパラメータにコピーされるため、関数内での変更は元の変数に影響を与えません。

例えば:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

結果:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

参照による呼び出し

参照呼び出しでは、関数内の変更が呼び出し元の変数に反映されるようにポインタが使用されます。

例えば:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

結果

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

2025年の学生に最適なノートパソコン

2025年の学生に最適なノートパソコン

学生は学習のために特定のタイプのノートパソコンを必要とします。専攻分野で十分なパフォーマンスを発揮できるだけでなく、一日中持ち運べるほどコンパクトで軽量であることも重要です。

Windows 10にプリンターを追加する方法

Windows 10にプリンターを追加する方法

Windows 10 にプリンターを追加するのは簡単ですが、有線デバイスの場合のプロセスはワイヤレス デバイスの場合とは異なります。

最高の精度でコンピューターのRAMをチェックし、RAMエラーをチェックする方法

最高の精度でコンピューターのRAMをチェックし、RAMエラーをチェックする方法

ご存知の通り、RAMはコンピューターにとって非常に重要なハードウェア部品であり、データ処理のためのメモリとして機能し、ノートパソコンやPCの速度を決定づける要因です。以下の記事では、WebTech360がWindowsでソフトウェアを使ってRAMエラーをチェックする方法をいくつかご紹介します。

通常のテレビとスマートテレビの違い

通常のテレビとスマートテレビの違い

スマートテレビはまさに世界を席巻しています。数多くの優れた機能とインターネット接続により、テクノロジーはテレビの視聴方法を変えました。

なぜ冷凍庫にはライトがないのに、冷蔵庫にはライトがあるのでしょうか?

なぜ冷凍庫にはライトがないのに、冷蔵庫にはライトがあるのでしょうか?

冷蔵庫は家庭ではよく使われる家電製品です。冷蔵庫には通常 2 つの部屋があり、冷蔵室は広く、ユーザーが開けるたびに自動的に点灯するライトが付いていますが、冷凍室は狭く、ライトはありません。

Wi-Fiの速度低下を引き起こすネットワーク混雑を解決する2つの方法

Wi-Fiの速度低下を引き起こすネットワーク混雑を解決する2つの方法

Wi-Fi ネットワークは、ルーター、帯域幅、干渉以外にも多くの要因の影響を受けますが、ネットワークを強化する賢い方法がいくつかあります。

Tenorshare Reibootを使ってデータ損失なくiOS 17からiOS 16にダウングレードする方法

Tenorshare Reibootを使ってデータ損失なくiOS 17からiOS 16にダウングレードする方法

お使いの携帯電話で安定した iOS 16 に戻したい場合は、iOS 17 をアンインストールして iOS 17 から 16 にダウングレードするための基本ガイドを以下に示します。

ヨーグルトを毎日食べると体に何が起こるのでしょうか?

ヨーグルトを毎日食べると体に何が起こるのでしょうか?

ヨーグルトは素晴らしい食べ物です。ヨーグルトを毎日食べるのは良いことでしょうか?ヨーグルトを毎日食べると、身体はどう変わるのでしょうか?一緒に調べてみましょう!

健康に最も良いお米の種類は何ですか?

健康に最も良いお米の種類は何ですか?

この記事では、最も栄養価の高い米の種類と、どの米を選んだとしてもその健康効果を最大限に引き出す方法について説明します。

朝時間通りに起きる方法

朝時間通りに起きる方法

睡眠スケジュールと就寝時の習慣を確立し、目覚まし時計を変え、食生活を調整することは、よりよく眠り、朝時間通りに起きるのに役立つ対策の一部です。

Rent Please! をプレイするためのヒント初心者向け大家シミュレーション

Rent Please! をプレイするためのヒント初心者向け大家シミュレーション

レンタルして下さい! Landlord Sim は、iOS および Android 向けのシミュレーション モバイル ゲームです。あなたはアパートの大家としてプレイし、アパートの内装をアップグレードして入居者を受け入れる準備をしながら、アパートの賃貸を始めます。

最新のバスルームタワーディフェンスコードとコードの入力方法

最新のバスルームタワーディフェンスコードとコードの入力方法

Bathroom Tower Defense Roblox ゲーム コードを入手して、魅力的な報酬と引き換えましょう。これらは、より高いダメージを与えるタワーをアップグレードしたり、ロックを解除したりするのに役立ちます。

変圧器の構造、記号、動作原理

変圧器の構造、記号、動作原理

変圧器の構造、記号、動作原理を最も正確な方法で学びましょう。

AIがスマートテレビを進化させる4つの方法

AIがスマートテレビを進化させる4つの方法

画質や音質の向上から音声制御まで、これらの AI 搭載機能により、スマートテレビはさらに優れたものになります。

ChatGPTがDeepSeekより優れている理由

ChatGPTがDeepSeekより優れている理由

当初、人々はDeepSeekに大きな期待を寄せていました。 ChatGPT の強力な競合製品として販売されている AI チャットボットは、インテリジェントなチャット機能とエクスペリエンスを約束します。