Go言語   関数

ホーム   Goチュートリアル


プログラムの中で、何度も使う処理は、関数というものにまとめておくことができます。関数を使うと、コードを管理しやすくなります。

基本的な関数


package main

import ("math/rand"
		"time"
		"fmt"
)

func main() {

	rand.Seed(time.Now().Unix())
	
	someFunc()
	someFunc()
	someFunc()
	someFunc()
	someFunc()
}

func someFunc() {
	fmt.Println("サイコロの目は", rand.Intn(6)+1, "です")
}
    
  1. 関数は、func キーワードを先頭に記述し、そのあとに任意の関数名を記述して ( ) をつけます。

  2. 関数の処理は、{ }(波括弧)の中に記述します。複数行の処理も記述できます。

  3. 関数を呼び出す(使う)場合は、関数名( ) というように必ず ( ) をつけます。

この例では、サイコロの目を5回表示していますが、テストの点を5回表示するように変更するには、someFunc 関数の fmt.Println だけを変更すれば良いので、プログラムの管理が楽になります。

引数

関数には、引数(ひきすう)という仕組みを使って、値を渡すことができます。

argument.go


package main

import ("math/rand"
		"time"
		"fmt"
)

func main() {

	rand.Seed(time.Now().Unix())
	
	for i := 1; i <= 5; i++ {
		someFunc(i, rand.Intn(6)+1)
	}
}

func someFunc(time int, dice int) {
	fmt.Println(time, "回目のサイコロの目は", dice, "です")
}
    

実行結果


1 回目のサイコロの目は 5 です
2 回目のサイコロの目は 4 です
3 回目のサイコロの目は 6 です
4 回目のサイコロの目は 2 です
5 回目のサイコロの目は 5 です
    

コード説明


		someFunc(i, rand.Intn(6)+1)
	

関数に値を渡すには、( ) の中に渡したい値を記述します。この関数に渡す値のことを実引数と言います。複数の値を渡したい場合は、値を , (カンマ)で区切ります。


func someFunc(time int, dice int) {
    

値を受け取る関数側では、値を受け取るための変数名と、その変数の型を ( ) の中に記述します。この値を受け取るための変数を、仮引数と言います。値を受け取る変数が、複数ある場合は、変数を ,(カンマ)で区切ります。


	fmt.Println(time, "回目のサイコロの目は", dice, "です")
	

関数内で、受け取った値を使うには、値を受け取った変数名をそのまま記述します。

戻り値

関数は、値を返すこともできます。この関数から返される値のことを、戻り値と言います(返り値とも言いますが、返り血が連想されるので、戻り値と言う場合多いみたいです)

return.go


package main

import ("math/rand"
		"time"
		"fmt"
)

func main() {

	rand.Seed(time.Now().Unix())
	
	fmt.Println( someFunc(rand.Intn(101)) )
}

func someFunc(score int) string {
	
	result := ""
	
	switch {
	case score >= 80:
		result = "成績はAです"
	case score >= 70:
		result = "成績はBです"
	case score >= 60:
		result = "成績はCです"
	default:
		result = "また頑張りましょう"
	}
	
	return result
}
    

実行結果


// 以下のどれかがランダムに表示されます
成績はAです
また頑張りましょう
成績はCです
成績はBです
    

コード説明


	fmt.Println( someFunc(rand.Intn(101)) )
	

関数の戻り値は、関数を呼び出した位置に返ってきます。


func someFunc(score int) string {
    

関数が戻り値を返すようにするには、関数を定義する時に、仮引数の ( ) のあとに、戻り値の型を記述します。


	return result
	

関数で戻り値を返すには、return キーワードを使います。戻り値を返すように定義した関数では、戻り値を返さなかったり、違う型の値を返そうとするとエラーになります。また、戻り値を返す関数は、戻り値を return した時点で、その関数は終了します。


45251 visits
Posted: Jun. 21, 2019
Update: Jun. 21, 2019

ホーム   Goチュートリアル   目次