go語言基礎知識

2022-09-08 13:57:15 字數 1934 閱讀 4825

go指標func main()

go 空指標

當乙個指標被定義後沒有分配到任何變數時,它的值為 nil。

nil 指標也稱為空指標。

nil在概念上和其它語言的null、none、nil、null一樣,都指代零值或空值。

乙個指標變數通常縮寫為 ptr。

檢視以下例項:

例項package main

import 「fmt」

func main()

以上例項輸出結果為:

ptr 的值為 : 0

空指標判斷:

if(ptr != nil) /* ptr 不是空指標 /

if(ptr == nil) / ptr 是空指標 */

定義結構體

結構體定義需要使用 type 和 struct 語句。struct 語句定義乙個新的資料型別,結構體有中有乙個或多個成員。type 語句設定了結構體的名稱。結構體的格式如下:

type struct_variable_type struct

一旦定義了結構體型別,它就能用於變數的宣告,語法格式如下:

variable_name := structure_variable_type

或variable_name := structure_variable_type

例項如下:

package main

import 「fmt」

type books struct

func main() )

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

fmt.println(books)

// 忽略的字段為 0 或 空fmt.println(books)

}輸出結果為:

len() 和 cap() 函式

切片是可索引的,並且可以由 len() 方法獲取長度。

切片提供了計算容量的方法 cap() 可以測量切片最長可以達到多少。

以下為具體例項:

例項package main

import 「fmt」

func main()

func printslice(x int)

以上例項執行輸出結果為:

len=3 cap=5 slice=[0 0 0]

空(nil)切片

乙個切片在未初始化之前預設為 nil,長度為 0,例項如下:

例項package main

import 「fmt」

func main()

}func printslice(x int)

如果想增加切片的容量,我們必須建立乙個新的更大的切片並把原分片的內容都拷貝過來。

import 「fmt」

func main()

func printslice(x int)

以上**執行輸出結果為:

len=0 cap=0 slice=

len=1 cap=1 slice=[0]

len=2 cap=2 slice=[0 1]

len=5 cap=6 slice=[0 1 2 3 4]

len=5 cap=12 slice=[0 1 2 3 4]

切片初始化

s := int

直接初始化切片,表示是切片型別,初始化值依次是1,2,3.其cap=len=3

s := arr[:]

初始化切片s,是陣列arr的引用

s := arr[startindex:endindex]

將arr中從下標startindex到endindex-1 下的元素建立為乙個新的切片

s := arr[startindex:]

go語言基礎知識6

go 語言函式 unc 函式由 func 開始宣告 function name 函式名稱,函式名和引數列表一起構成了函式簽名。parameter list 引數列表,引數就像乙個佔位符,當函式被呼叫時,你可以將值傳遞給引數,這個值被稱為實際引數。引數列表指定的是引數型別 順序 及引數個數。引數是可選...

Go基礎知識

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

go語言基礎知識 Go 語言運算子

go 語言運算子 運算子用於在程式執行時執行數學或邏輯運算。go 語言內建的運算子有 算術運算子 package main import fmt func main 關係運算子 package main import fmt func main else if a b else if a b els...