Golangで複数の値を返す関数

Golang言語では、 return ステートメントを使用して関数から複数の値を返すことができます。つまり、関数では、 return ステートメントは複数の値を返すことができます。戻り値の型は、パラメータリストに指定されたパラメータの型と同じです。

Golangで複数の値を返す関数

構文:

func function_name(parameter_list)(return_type_list){
     // code...
}

そこには:

  • function_name : 関数の名前です。
  • パラメータリスト: 関数パラメータの名前と型が含まれます。
  • return_type_list : オプションであり、関数が返す値の型が含まれます。関数内で return_type を使用している場合は、関数内で return ステートメントを使用する必要があります。

例えば:

// Chương trình Go minh họa
// cách hàm trả về nhiều giá trị
package main 

import "fmt"

// myfunc trả về 3 giá trị của kiểu int
func myfunc(p, q int)(int, int, int ){ 
	return p - q, p * q, p + q 
} 

// Phương thức chính
func main() { 
	
	// Giá trị trả về được gắn vào
	// 3 biến khác nhau
var myvar1, myvar2, myvar3 = myfunc(4, 2) 
	
// Hiện giá trị
fmt.Printf("Result is: %d", myvar1 ) 
fmt.Printf("\nResult is: %d", myvar2) 
fmt.Printf("\nResult is: %d", myvar3) 
} 

結果:

Result is: 2
Result is: 8
Result is: 6

戻り値に名前を付ける

Go 言語では、戻り値に名前を付けることができます。また、これらの変数名をコード内でも使用できます。Go コンパイラはこれらの変数を保持する必要があることを自動的に理解するため、これらの名前をreturnステートメントで記述する必要はありません。そして、戻り値の型は最小戻り値と呼ばれます。最小限を返すと、プログラム内の重複が削減されます。

構文:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}

hoặc

func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

ここで、name1name2 は戻り値の名前であり、para1para2 は関数のパラメーターです。

例えば:

// Minh họa chương trình Go
// cách đặt tên cho giá trị trả về
package main 

import "fmt"

// myfunc trả về 2 giá trị của kiểu int 
// đây là tên giá trị trả về:
// rectangle và square
func myfunc(p, q int)( rectangle int, square int ){ 
	rectangle = p*q 
	square = p*p 
	return
} 

func main() { 
	
	// Giá trị trả về được gán cho 
	// hai biến khác nhau
var area1, area2 = myfunc(2, 4) 
	
// Hiện giá trị
fmt.Printf("Area of the rectangle is: %d", area1 ) 
fmt.Printf("\nArea of the square is: %d", area2) 
	
} 

結果:

Area of the rectangle is: 8
Area of the square is: 4
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 チャットボットは、インテリジェントなチャット機能とエクスペリエンスを約束します。