go基礎知識學習

2021-09-29 17:19:51 字數 1995 閱讀 2034

最近沒有繼續部署elk系統和學習,是因為有專案進來了,自己需要學多一門語言go,學學吧,多學無害,但最怕學藝不精,最怕樣樣都懂點,樣樣都不深~

package main

import "fmt"

func main()

每個go應用程式都包含乙個名為main的包,func main()時候程式開始執行的函式,如果有init()函式則會先執行該函式

注意:

執行結果0 1 2 ha ha 100 100 7 8

func function_name( [parameter list] ) [return_types] 

例子func max(num1, num2 int) int else

return result

}func max(num1, num2 int) (int, int)

package main

import "fmt"

func main()

// 閉包使用方法

func add(x1, x2 int) func()(int,int)

}結果:

1 32 3

3 3package main

import "fmt"

func main()

// 閉包使用方法

func add(x1, x2 int) func(x3 int,x4 int)(int,int,int)

}結果:

1 3 2

2 3 0

3 3 4

package main

import "fmt"

type books struct

func main() )

// 也可以使用 key => value 格式

fmt.println(books)

// 忽略的字段為 0 或 空

fmt.println(books)

}

var slice1 type = make(type, len)

也可以簡寫為

slice1 := make(type, len)

package main

import "fmt"

func main()

package main

import (

"fmt"

)// 定義乙個 divideerror 結構

type divideerror struct

// 實現 `error` 介面

func (de *divideerror) error() string

// 定義 `int` 型別除法運算的函式

func divide(vardividee int, vardivider int) (result int, errormsg string)

errormsg = ddata.error()

return

} else

}func main()

// 當被除數為零的時候會返回錯誤資訊

if _, errormsg := divide(100, 0); errormsg != ""

}

執行以上程式,輸出結果為:

100/10 =  10

errormsg is:

cannot proceed, the divider is zero.

dividee: 100

divider: 0

ch <- v    // 把 v 傳送到通道 ch

v := <-ch // 從 ch 接收資料

// 並把值賦給 v

ps:

Go基礎知識

1.func main 是程式開始執行的函式。main函式是每乙個可執行程式所必須包含的,一般來說都是在啟動後第乙個執行的函式 如果有init 函式則會先執行該函式 2.當識別符號 包括敞亮 變數 型別 函式名 結構欄位等 以乙個大寫字母開頭,那麼使用這種形式的識別符號的物件就可以被外部包的 所使用...

Go學習筆記一 基礎知識

var v1 int var v2 string var v3 10 int 陣列 var v4 int 陣列切片 var v5 struct var v6 int 指標 var v7 map string int map,key為string型別,value為int型別 var v8 func a...

go語言基礎知識

go指標func main go 空指標 當乙個指標被定義後沒有分配到任何變數時,它的值為 nil。nil 指標也稱為空指標。nil在概念上和其它語言的null none nil null一樣,都指代零值或空值。乙個指標變數通常縮寫為 ptr。檢視以下例項 例項package main import...