1. 定義:有輸入、有輸出,用來執行乙個指定任務的**塊
func functionname([parametername type]) [returntype]//其中引數列表和返回值列表是可選
無引數和返回值的函式
func functionname()
func test1()
有引數又返回值的函式
func sumtwo(a int, b int) int
如何連續的一系列引數的型別是一樣,前面的型別可以不寫,例如:
func add(a, b int) int
func sumsub(a, b int) (int, int)
函式呼叫
func add(a, b int) intfunc 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()
可變引數
// 可以傳入0個或者多個引數func calc_v1(b …int) (sum int, sub int
) // a 必傳
func calc_v2(a
int, b …int) (sum int, sub int
) // a,b 必傳
func calc_v3(a
int, b int, c …int) (sum int, sub int
)
func test4(b ...int) intreturn
sum}
defer 語句 在函式執行完以後才開始執行, 多個defer語句遵循 堆疊的原則,即後進先出,先進後出
func calc_v1(b …int) (sum int, sub int)
多個defer語句,遵循棧的特性:先進後出
func calc_v1(b …int) (sum int, sub int) /*
defer2
defer1
*/
defer 舉例
package mainimport
"fmt
"func defer1()
/*------------------2
-----------------3
----------------1
*/func testdefer1()
fmt.println(
"go-----------")
}/*go-----------
this is 9
this is 8
this is 7
this is 6
this is 5
this is 4
this is 3
this is 2
this is 1
this is 0
*/func testdefer2()
/*over -----------
defer test i=5
*/func main()
1. close 主要用來關閉channel
2.len:用來求長度,比如string、array、slice、map、channel
3. new:用來分配記憶體,主要用來分配值型別,比如int、struct。返回的是指標
4. make:用來分配記憶體,主要用來分配引用型別,比如chan、map、slice
6.panic和recover:用來做錯誤處理
Go語言介紹
2 go安裝 2.2 解壓 3 hello world 4 執行方法 go是一門編譯型語言,go語言的工具鏈將源 及其依賴轉換成計算機的機器指令 譯註 靜態編譯 go 是乙個開源的程式語言,它能讓構造簡單 可靠且高效的軟體變得容易。go 語言被設計成一門應用於搭載 web 伺服器,儲存集群或類似用途...
Go語言介紹
go語言是谷歌2009發布的第二款開源程式語言。go語言專門針對多處理器系統應用程式的程式設計進行了優化,使用go編譯的程式可以媲美c或c 的速度,而且更加安全 支援並行程序。1 可直接編譯成機器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔乙個檔案上去就完成了。2 靜態型別語言,但是有動...
Go基礎程式設計 Go語言介紹
2009年11月10日,go語言正式成為開源程式語言家庭的一員。go語言 或稱golang 是雲計算時代的c語言。go語言的誕生是為了讓程式設計師有更高的生產效率,go語言專門針對多處理器系統應用程式的程式設計進行了優化,使用go編譯的程式可以媲美c或c 的速度,而且更加安全 支援並行程序。開發人員...