在 go 語言中函式是一等公民,它作為乙個變數、型別、引數、返回值,甚至可以去實現乙個介面,但是 go 語言中函式不支援過載、巢狀和預設引數。
package main
func
main()
func test()
functest := test
fmt.println(functest())
test := func()
package main
import
"fmt"
type iadder func
(int
,int
)int
func
main()
fmt.
println
(adder(1
,2))
// 3
}
func test(num ...int)
test(1,2,3,4)
func test() (string,int,bool)
v1, v2, v3 := test()
fmt.println(v1, v2, v3) // hello world 100 true
func test() (a string, b bool, c int)
v1, v2, v3 := test()
fmt.println(v1, v2, v3) // golang false 200
還是以 斐波那契數列為例,將其當做乙個檔案流來讀取.package main
import
"fmt"
// 使用 閉包實現 斐波那契數列
func
fibonacci()
func()
int}
func
main()
package main
import
("fmt"
"io"
"bufio"
"strings"
)// 使用 閉包實現 斐波那契數列
func
fibonacci
() intgen
}// 定義乙個型別
type intgen func()
int// 實現乙個 reader 介面
func
(g intgen)
read
(p [
]byte
)(n int
, err error
)// 將乙個數值轉為字串
s := fmt.
sprintf
("%d/n"
, next)
return strings.
newreader
(s).
read
(p)}
// 使用 reader 讀取的方法
func
printfilecontents
(reader io.reader)
}func
main()
Golang 基礎 Go 語言的指標
變數是一種使用方便的佔位符,用於引用計算機位址,而在 go 語言中可以通過 符號獲取乙個變數在計算機中對應的記憶體位址。package basic import fmt func main 乙個指標變數指向了乙個值的記憶體位址。go 語言中的指標語法與 c 類似,都是使用 符號宣告指標變數 pack...
Golang 基礎 Go 語言的陣列
package basic import fmt func declaratarray fmt.println arr2 定義指定長度的陣列,並賦值 arr3 2 int fmt.println arr3 1 5 package basic import fmt func declaratarray...
go語言基礎 函式
函式 一 概念 函式,就是一段具有特殊功能的 二 作用 避免重複的 提高程式的擴充套件性 三 語法 1.先定義,也叫宣告 func 函式名 形參列表 引數名 引數型別 返回值 2.再呼叫 函式名一致,實參列表必須嚴格匹配形參 函式可以被多次呼叫,叫呼叫處。packagemain import fmt...