函式是基本的**塊,用於執行乙個任務。
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以上例項在 main() 函式中呼叫 max()函式,執行結果為:import "fmt"
func main()
/* 函式返回兩個數的最大值 */
func max(num1, num2 int) int else
return result
}
最大值是 : 200go 函式可以返回多個值,例如:
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 = 11 * 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算術運算子計算後列印到控制台的示例 雖然很簡單,但是還...