原創 go語言學習(五)函式詳解1

2022-05-15 16:20:18 字數 2242 閱讀 5237

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 main

import "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基本用法如...