Go語言基礎 二

2021-08-28 11:23:22 字數 2140 閱讀 9071

go語言中只有for,以下是for的三種使用方式。

package main

import "fmt"

func sum(args ...int) (value int)

return

}func main()

//2.

for i := 0; i < 10;

value := sum(1, 3, 5)

fmt.printf("%d\n", value)

}

注意:使用range關鍵字會返回兩個數,第乙個是下標,第二個是下標對應的資料;而無需使用的值可是使用_來接受接收。

還可以使用len函式來得到集合中儲存元素的個數,然後使用for迴圈通過下標進行遍歷。另外,使用len函式還可以獲得字串中的字元個數。

不定引數的函式巢狀呼叫的情況:

package main

import "fmt"

func sum1(args ...int) (value int)

func sum2(args ...int) (value int)

func main()

type定義函式型別:

package main

import "fmt"

//type定義函式型別

type functype func(int, int) int

func demo (int, int) int

func main()

需要注意的是,不同型別的函式函式指標之間不能賦值。

package main

import "fmt"

a := 10

func main()

package main

import "fmt"

func main() (a, b)

f := func(a int, b int) int

//v:函式的返回值

fmt.printf("%d\n", v)

//f:函式指標

fmt.printf("%p\n", f)

}

在c語言中,可以使用while for goto 來製造死迴圈。在go語言中沒有while。以下是在go中使用goto語句製造的迴圈,可以使用另乙個goto來跳出迴圈,也可以使用return來結束迴圈。

在實際開發中,應該注意goto的使用,因為goto可能會使乙個函式與另乙個函式建立聯絡,這樣會破壞程式的耦合性。

package main

import "fmt"

func main()

goto here

end:

fmt.println("5")

fmt.println("6")

}

需要注意的是:

c語言中允許使用goto從乙個迴圈跳入另乙個迴圈,但是go語言中只可以使用goto跳出跳出迴圈,並不能進入另乙個迴圈。

c語言中使用goto從乙個迴圈跳入另乙個迴圈時,要注意需要使用的變數要宣告在第乙個迴圈變數之前,比如第二個迴圈的迴圈變數,否則使用了在被跳過的部分定義的資料是就會出現錯誤。

在呼叫函式、接收實參、定義變數時,都會占用棧的空間(printf函式會在呼叫完成後釋放,所以可以不用考慮在內)。

在c語言中,棧區系統開闢的空間大小為1mb(可以開闢陣列進行測試),在window環境下可以擴充套件為10mb,linux下可以擴充套件為16mb。

go語言對堆區和棧區進行了封裝,所以在棧中也可以開闢足夠大的空間(還可以對c語言中的mollac函式、go中的棧進行測試,mollac函式可以開闢的空間必須是連續的,可以開啟管理器檢視剩餘的記憶體大小作為參考,本次測試8g記憶體剩餘3.2g開闢了1g左右的空間;而go語言中的棧可以提供10億b的空間)。

c語言中使用const修飾的變數本質上是唯讀變數,可以通過指針對其進行修改。

go語言對常量的位址進行了封裝,使得程式設計師不能獲得常量的位址,對常量進行取位址運算時就會報錯(如果使用工具也是可以得到的)。所以go語言中的常量是相對安全的。

go語言基礎(二)

各語言的資料型別大同小異。go語言可以為數字型別和浮點型別設定位長,如int8,int16,int32,int64,uint8,float8,float32等。go語言沒有double型別的資料,通過float32或float64控制精度。分別精確到小數點後面7 15位。有以下數字型別 const ...

GO語言學習二(基礎)

一 包 每個 go 程式都是由包組成的。程式執行的入口是包main 二 匯入 兩種方式 多個 import import fmt import math 用圓括號組合了匯入,打包匯入 import fmt math 三 函式 函式可以沒有引數或接受多個引數 當兩個或多個連續的函式命名引數是同一型別,...

Go 語言基礎

go 語言內建的運算子有 1.算術運算子 2.關係運算子 3.邏輯運算子 4.位運算子 將其先轉換為二進位制數,在根據如下表規則 p q p q p q p q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1如假定 a 60 b 13 其二進位制數轉換為 a 0011...