1、函式介紹
2、多返回值和可變引數
3、defer語句
4、內建函式介紹
有輸⼊入、有輸出,⽤用來執⾏行行⼀乙個指定任務的**塊。
func functionname([parametername type]) [returntype]//其中引數列列表和返回值列列表是可選
func functionname()
// 兩數相加// 三個整數相加簡寫:func add(a , b, c int) int
// 多返回值// func calc(a, b int) (int, int)
// 多返回值// func calc(a, b int) (int, int)
func main()
func calc(a, b int) (int, int)func main()
func calc(a, b int) (sum int, sub int)func main()
func calc(a, b int) (sum int, sub int)func main()
func calc(a, b int) (sum int, sub int)func main()
// 可變引數func calc_v1(b ...int) int
return sum
}
// 固定引數和可變引數func calc_v2(a int, b ...int) int
return sum
}
// defer返回執行// defer作用資源釋放
func testdefer1()
/*結果:
defer,後進先出,壓棧
aaaaaaa
bbbbbbb
hello v3
hello v2
hello
*/
func testdefer2()fmt.printf("running\n")
fmt.printf("reutrn:\n")}/*
runging
return
i=4i=3
i=2i=1
i=0*/
// defer, 是預先定義的,只是return時返回結果
func testdefer3()
/*1000
defer i = 0
*/
主要⽤用來關閉channel
用來求長度,比如string、array、slice、map、channel
用來分配記憶體,主要用來分配值型別,比如int、struct。返回的是指標4.4. make:⽤用來分配記憶體,主要⽤用來分配引⽤用型別,⽐比如chan、map、slice
⽤用來追加元素到陣列、slice中
⽤用來做錯誤處理理
package mainimport "fmt"
func justify(n int) bool
// 質數是除了他自己,不被任何數整除
for i := 2; i < n; i++
} return true
}// 1-100的質數
func example1() }}
func is_shuixianhuashu(n int) bool
return false
}// 水仙花束 x^3 + y^3 + z^3 = xyz
func example2() }}
// 統計字串中,字元,數字,空格,其他字元的個數
func calc(str string) (charcount int, numcount int, spacecount int, othercount int)
if utfchars[i] >= '0' && utfchars[i] <= 9
if utfchars[i] >= ' '
othercount++
} return
}func example3()
func main()
Go語言學習筆記 函式(1)
函式時go語言中的基礎元件,函式定義如下 type mytype int func p mytype funcname q int r,s int 12 3456 1,關鍵字func用於定義乙個函式2,函式可以繫結到特定的型別上,這叫做接收者。有接收者的函式被稱作method。3,funcname是...
go語言學習 函式
函式宣告包括函式名,形參列表,返回值列表 可選 函式體組成 func test parameters returns 其中 parameters 就是函式的形參列表,描述了函式的引數名和引數型別,可以沒有引數但是這個括號不可以省略 returns就是返回值列表,描述了函式返回值的變數名 可選 和型別...
Go語言學習筆記 五
這是go語言學習筆記的第五篇 條件語句格式 if condition else 幾點注意的地方 func example x int int else 選擇語句格式 switch iswitch幾點注意的地方 go語言中迴圈語句只支援for關鍵字,不支援while和do while。for基本用法如...