Go語言自學十八式 變數建立篇

2021-10-02 18:49:32 字數 2213 閱讀 9048

go 語言作為靜態型別語言。由於編譯時,編譯器會檢查變數的型別,所以要求所有的變數都要有明確的型別。

變數宣告之後才可以使用 。

宣告變數(關鍵字var)一般有以下五種方法,其中前兩種同樣也可用於定義常量(關鍵字const

var
其中 var 是宣告變數關鍵字,name 是變數名,type 是型別。

使用 var ,雖然只指定了型別,但是 go 會對其進行隱式初始化,比如 string 型別就初始化為空字串,int 型別就初始化為0,float 就初始化為 0.0,bool型別就初始化為false,指標型別就初始化為 nil。

若想在宣告過程,順便也初始化,可以這樣寫:

var name string = "edemao 部落格"
在 go 檔案中的完整**如下,為了不寫重複性的**,後續只展示關鍵**:

package main

import "fmt"

func main()

在 go 中一定要使用雙引號,表示字串,而在單引號表示rune 型別的字元,因此也可以將其簡化為:

var name = "edemao 部落格"

var rate float32 = 0.89
宣告多個變數,一是可以按照第一種方法寫成多行,此外還可以使用小括號:

var (

name string

age int

*** string

)

使用:=(推導宣告寫法或短型別宣告法),編譯器會自動根據右值型別推斷出左值的對應型別。對變數進行宣告和(顯式)初始化:

name := "edemao 部落格"

// 等價於

var name string = "edemao 部落格"

// 等價於

var name = "edemao 部落格"

此方法只能用於函式內部

name, age := "edemao 部落格", 24

//同時支援變數交換

var a int = 100

var b int = 200

b, a = a, b

package main

import "fmt"

func main()

/*輸出

age: 28

ptr: 0xc000010098*/

new 函式,是 go 裡的乙個內建函式。使用表示式new(type)將建立乙個type 型別的匿名變數,初始化為type 型別的零值,然後返回儲存該變數位址的指標(指標型別為*type)。

package main

import "fmt"

func main()

/*輸出:

ptr address: 0xc000010098

ptr value: 0

*/

用new建立變數和普通變數宣告語句方式建立變數其實無區別,只是可以不需要宣告乙個臨時變數的名字和可以在表示式中使用new(type)。簡言之,new函式類似語法糖。以下兩種方式等價:

/ 使用 new(type)

func newint() *int

// 使用傳統的方式

func newint() *int

對於go語言,變數/常量都只能宣告一次,宣告多次,編譯就會報錯。

但也有例外,這就要說到乙個特殊變數:匿名變數 (下劃線'_'),也稱作佔位符,或者空白識別符號。

匿名變數,優點有三:

通常我們用匿名變數來接收必須接收,但是又不會用到的值,就像這樣:

func getdata() (int, int) 

func main()

極速引流十八式 1

招式一 免費式 用免費引流法快速引流!2 你可以設定一些拼團或者砍價活動,拿砍價活動來說,你可以在金貓教育後台設定乙個砍價商品,只要使用者邀請了夠多的親朋好友來給他助力,他就可以免費獲得該課程。3 如果你想用免費贈品的方式,你也可以在金貓教育後台商家乙個線下小禮品當做贈品,例如20元的樣子,也可以發...

鬧洞房新招二十八式

第一招 如數家珍 結婚當天,新娘衣著單薄,鬧洞時,賓客可以想法子讓新人互玩划拳遊戲,輸一拳即褪去身上衣物或手飾一件,直到?不能再褪了為止。第二招 高跟杯酒 慫恿新娘讓新郎為了表示對她愛意深深,想法子讓他用高跟鞋,連喝三杯。第三招 圓桌武士 讓新郎新娘拿凳子坐到桌面上,共飲同心酒。第四招 愛的蘋果 為...

Go語言自學筆記

package main import fmt func main func f1 ch chan int 如果容量大於 0,通道就是非同步的了 緩衝滿載 傳送 或變空 接收 之前通訊不會阻塞,元素會按照傳送的順序被接收。如果容量是0或者未設定,通訊僅在收發雙方準備好的情況下才可以成功。要在首要位置...