10 Go 語言函式

2021-08-29 03:04:36 字數 2821 閱讀 5290

函式是基本的**塊,用於執行乙個任務。

go 語言最少有個 main() 函式。

你可以通過函式來劃分不同功能,邏輯上每個函式執行的是指定的任務。

函式宣告告訴了編譯器函式的名稱,返回型別,和引數。

go 語言標準庫提供了多種可動用的內建的函式。例如,len() 函式可以接受不同型別引數並返回該型別的長度。如果我們傳入的是字串則返回字串的長度,如果傳入的是陣列,則返回陣列中包含的元素個數。

go 語言函式定義格式如下:

func function_name( [parameter list] ) [return_types]
函式定**析:

以下例項為 max() 函式的**,該函式傳入兩個整型引數 num1 和 num2,並返回這兩個引數的最大值:

/* 函式返回兩個數的最大值 */

func max(num1, num2 int) int else

return result

}

當建立函式時,你定義了函式需要做什麼,通過呼叫該函式來執行指定任務。

呼叫函式,向函式傳遞引數,並返回值,例如:

package main

import "fmt"

func main()

/* 函式返回兩個數的最大值 */

func max(num1, num2 int) int else

return result

}

以上例項在 main() 函式中呼叫 max()函式,執行結果為:

最大值是 : 200
go 函式可以返回多個值,例如:

package main

import "fmt"

func swap(x, y string) (string, string)

func main()

以上例項執行結果為:

kumar mahesh
函式如果使用引數,該變數可稱為函式的形參。

形參就像定義在函式體內的區域性變數。

呼叫函式,可以通過兩種方式來傳遞引數:

傳遞型別

描述值傳遞

值傳遞是指在呼叫函式時將實際引數複製乙份傳遞到函式中,這樣在函式中如果對引數進行修改,將不會影響到實際引數。

引用傳遞

引用傳遞是指在呼叫函式時將實際引數的位址傳遞到函式中,那麼在函式中對引數所進行的修改,將影響到實際引數。

預設情況下,go 語言使用的是值傳遞,即在呼叫過程中不會影響到實際引數。

函式用法

描述函式作為值

函式定義後可作為值來使用

閉包閉包是匿名函式,可在動態程式設計中使用

方法方法就是乙個包含了接受者的函式

筆記:楊輝三角形:

package main

import "fmt"

//行數

const lines int = 10

// 楊輝三角

func showyanghui********()

for i := 0; i < lines; i++

for j := 0; j < (i + 1); j++ else

fmt.print(value, " ")

}fmt.println("")

}}func main()

執行輸出結果為:

1 

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

九九乘法表

package main

import (

"fmt"

"strconv"

)func add(a, b int) int

func multiplicationtable() else

fmt.print(j, " * ", i, " = ", ret, " ")

}fmt.print("\n")

}}func main()

執行輸出為:

1 * 1 = 1

1 * 2 = 2 2 * 2 = 4

1 * 3 = 3 2 * 3 = 6 3 * 3 = 9

1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16

1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25

1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36

1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49

1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64

1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81

**

GO學習 10 Go語言基礎之指標

區別於c c 中的指標,go語言中的指標不能進行偏移和運算,是安全指標。任何程式資料載入記憶體後,在記憶體都有他們的位址,這就是指標。而為了儲存乙個資料在記憶體中的位址,我們就需要指標變數。比如,永遠不要高估自己 這句話是我的座右銘,我想把它寫入程式中,程式一啟動這句話是要載入到記憶體 假設記憶體位...

Go 分布式學習利器(10) Go語言的介面

在上一節中我們討論go語言的物件導向特性的時候也說了,go語言並不支援繼承,能夠進行物件的封裝 包括資料成員和成員函式的封裝 那麼這裡簡單說一下go語言介面之間的依賴關係。我們知道 c 中兩個介面之間的依賴 可以通過公有 私有繼承方式來實現,且有對應的標識關鍵字 class programmar c...

1 0 Go快速入墳系列之變數 常量與算術運算子

這部分直接水過。go和大部分語言一樣,提供了 取餘 等常見常用的運算子。控制台輸出運算結果 此處需要一提的是go的列印控制台使用的是fmt包下的print和println二者的區別在於後者是換行列印。為啥要突然提列印?因為我要用。下面就是使用go算術運算子計算後列印到控制台的示例 雖然很簡單,但是還...