Go語言基礎變量的聲明及初始化示例詳解

一、概述

變量的功能是存儲用戶的數據

二、聲明變量

Go語言的每一個變量都擁有自己的類型,必須經過聲明才能開始用

變量的聲明格式:

var <變量名稱> [變量類型]

 var a int   	//聲明一個整型類型的變量,可以保存整數數值
 var b string 	//聲明一個字符串類型的變量
 var c float32 //聲明一個32位浮點切片類型的變量,浮點切片表示由多個浮點類型組成的數據結構  
 var d func() bool  	//聲明一個返回值為佈爾類型的函數變量,這種形式一般用於回調函數
 var e struct{        //聲明一個結構體類型的變量
      x int
  }

a.標準格式

以關鍵字var開頭,後置變量類型,行尾無須分號

var變量名 變量類型

b.批量格式

var (
    a int
    b string
    c float32
    d func() bool
    e struct {
        x int
    }
)

三、編譯器推導類型的格式【一定要賦值】

將類型省略後,編譯器會嘗試根據等號右邊的表達式推導變量的類型

var hp = 100

四、短變量聲明並初始化

將類型、var省略,把=變成=:
由於使用瞭“:=”,而不是賦值的“=”,因此推導聲明寫法的左值變量必須是沒有定義過的變量。
若定義過,將會發生編譯錯誤

xp := 10
fp,ap=20,30

五、匿名變量——沒有名字的變量

在使用多重賦值時,如果不需要在左值中接收變量,可以使用匿名變量。
匿名變量的表現是一個“_”下畫線,使用匿名變量時,隻需要在變量聲明的地方使用下畫線替換即可

a,_=10,20

六、註意

  • 編譯器推導類型時,【一定要賦值】
  • 由於使用瞭“:=”,而不是賦值的“=”,因此推導聲明寫法的左值變量必須是沒有定義過的變量。【若定義過,將會發生編譯錯誤】
  • 最好有兩個變量以上才能使用匿名變量【要不然失去瞭他的意義】

七、案例

package main
import "fmt"
import "net"
func main() {
	/*一、聲明*/
	var a int         //聲明一個整型類型的變量,可以保存整數數值
	var b string      //聲明一個字符串類型的變量
	var c float32     //聲明一個32位浮點切片類型的變量,浮點切片表示由多個浮點類型組成的數據結構
	var d func() bool //聲明一個返回值為佈爾類型的函數變量,這種形式一般用於回調函數
	var e struct {    //聲明一個結構體類型的變量
		x int
	}
	var f bool //聲明一個佈爾類型的變量
	fmt.Printf("a類型:%T,值:%v\n", a, a) //a類型:int,值:0
	fmt.Printf("b類型:%T,值:%q\n", b, b) //b類型:string,值:""
	fmt.Printf("c類型:%T,值:%v\n", c, c) //c類型:float32,值:0
	fmt.Printf("d類型:%T,值:%v\n", d, d) //d類型:func() bool,值:<nil>
	fmt.Printf("e類型:%T,值:%v\n", e, e) //e類型:struct { x int },值:{0}
	fmt.Printf("f類型:%T,值:%v\n", f, f) //f類型:bool,值:false
	/*二、批量聲明*/
	//	var (
	//		a int
	//		b string
	//		c float32
	//		d func() bool
	//		e struct {
	//			x int
	//		}
	//	)

	//三、編譯器推導類型的格式[一定要賦值,這是要編譯時進行類型的推導]
	var hp = 100
	fmt.Println(hp)	
	fp,ap:=20,30
	fmt.Println(fp,ap)
	//四、短變量聲明並初始化
	//hp := 10 //error no new variables on left side of :=  在“:=”的左邊沒有新變量出現,意思就是“:=”的左邊變量已
	//多個短變量聲明【編譯器不會報err重復定】
	conn1, err := net.Dial("tcp", "127.0.0.1:8080")
	conn2, err := net.Dial("tcp", "127.0.0.1:8080")	
	fmt.Println(conn1,err)
	fmt.Println(conn2,err)	
	//五、匿名變量——沒有名字的變量
	a,_=10,20
}

以上就是Go語言基礎變量的聲明及初始化示例詳解的詳細內容,更多關於Go語言基礎變量的資料請關註WalkonNet其它相關文章!

推薦閱讀: