English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
関数は、プログラム内のコードや文のブロックで、同じコードを再利用し、最終的にはメモリの節約、時間の節約だけでなく、より良いコードの可読性を提供することができます。したがって、基本的には、関数は特定のタスクを実行し、結果を呼び出し元に返す特定の文の集合です。関数は、何も返さない特定のタスクを実行することもできます。
関数宣言は、構造関数を作成する方法の一つです。
文法:
func function_name(Parameter_list)(Return_type){ // function body..... }
その関数の宣言には以下が含まれます:
func:それはGo言語のキーワードで、関数の作成に使用されます。
function_name:それは関数の名称。
Parameter_list:関数の引数の名前とタイプを含みます。
Return_type:これはオプションであり、関数が返す値のタイプを含みます。関数内でreturn_typeを使用する場合、関数内でreturn文を使用する必要があります。
関数呼び出しは、ユーザーが関数の機能を使用したい場合に完了されます。関数の機能を使用するには、関数を呼び出す必要があります。以下の例のように、add()という名前の関数があり、2つの引数があります。現在、2つの引数を持つarea()を呼び出しています。12、10)をメイン関数内で呼び出します。
package main import "fmt" //area()は長方形の面積を検索するために使用されます //関数の2つの引数、すなわち長さと幅 func area(length, width int) int { Ar := length * width return Ar } func main() { //長方形の面積を表示 //メソッド呼び出し fmt.Printf("長方形の面積 : %d", area(12, 10)) }
出力:
長方形の面積 : 120
Go言語では、関数に渡される引数は実際の引数(実引数)と呼ばれ、関数が受け取る引数は形式引数(仮引数)と呼ばれます。
注意:デフォルトでは、Go言語は関数に引数を渡す際に値渡し方法を使用します。
Go言語は関数に引数を渡すために2つの方法をサポートしています:
値渡し:この引数渡し方法では、実際の引数の値が関数の形式引数にコピーされます。したがって、異なるストレージ位置にそれぞれの種類の引数が格納されます。したがって、関数内で行われる任何変更は実際の引数に反映されません。
package main import "fmt" // 値を交換する関数 func swap(a, b int) int{ var o int o = a a = b b = o return o } func main() { var p int = 10 var q int = 20 fmt.Printf("p = %d と q = %d", p, q) // 値渡し swap(p, q) fmt.Printf("\np = %d と q = %d", p, q) }
出力:
p = 10 和 q = 20 p = 10 和 q = 20
参照呼び出し:実際の引数と形式引数は同じ場所を指しているため、関数内で行われる任何変更は実際の引数に実際に反映されます。
package main import "fmt" //値を交換する関数 func swap(a, b *int) int { var o int o = *a *a = *b *b = o return o } func main() { var p int = 10 var q int = 20 fmt.Printf("p = %d と q = %d", p, q) //参照呼び出し swap(&p, &q) fmt.Printf("\np = %d と q = %d", p, q) }
出力:
p = 10 和 q = 20 p = 20 と q = 10