欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語(yǔ)言基礎(chǔ)變量的聲明及初始化示例詳解

 更新時(shí)間:2021年11月17日 15:53:00   作者:楓少文  
這篇文章主要為大家介紹了Go語(yǔ)言基礎(chǔ)變量的聲明及初始化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步,早日升職加薪

一、概述

變量的功能是存儲(chǔ)用戶的數(shù)據(jù)

二、聲明變量

Go語(yǔ)言的每一個(gè)變量都擁有自己的類型,必須經(jīng)過(guò)聲明才能開(kāi)始用

變量的聲明格式:

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

 var a int   	//聲明一個(gè)整型類型的變量,可以保存整數(shù)數(shù)值
 var b string 	//聲明一個(gè)字符串類型的變量
 var c float32 //聲明一個(gè)32位浮點(diǎn)切片類型的變量,浮點(diǎn)切片表示由多個(gè)浮點(diǎn)類型組成的數(shù)據(jù)結(jié)構(gòu)  
 var d func() bool  	//聲明一個(gè)返回值為布爾類型的函數(shù)變量,這種形式一般用于回調(diào)函數(shù)
 var e struct{        //聲明一個(gè)結(jié)構(gòu)體類型的變量
      x int
  }

a.標(biāo)準(zhǔn)格式

以關(guān)鍵字var開(kāi)頭,后置變量類型,行尾無(wú)須分號(hào)

var變量名 變量類型

b.批量格式

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

三、編譯器推導(dǎo)類型的格式【一定要賦值】

將類型省略后,編譯器會(huì)嘗試根據(jù)等號(hào)右邊的表達(dá)式推導(dǎo)變量的類型

var hp = 100

四、短變量聲明并初始化

將類型、var省略,把=變成=:
由于使用了“:=”,而不是賦值的“=”,因此推導(dǎo)聲明寫(xiě)法的左值變量必須是沒(méi)有定義過(guò)的變量。
若定義過(guò),將會(huì)發(fā)生編譯錯(cuò)誤

xp := 10
fp,ap=20,30

五、匿名變量——沒(méi)有名字的變量

在使用多重賦值時(shí),如果不需要在左值中接收變量,可以使用匿名變量。
匿名變量的表現(xiàn)是一個(gè)“_”下畫(huà)線,使用匿名變量時(shí),只需要在變量聲明的地方使用下畫(huà)線替換即可

a,_=10,20

六、注意

  • 編譯器推導(dǎo)類型時(shí),【一定要賦值】
  • 由于使用了“:=”,而不是賦值的“=”,因此推導(dǎo)聲明寫(xiě)法的左值變量必須是沒(méi)有定義過(guò)的變量?!救舳x過(guò),將會(huì)發(fā)生編譯錯(cuò)誤】
  • 最好有兩個(gè)變量以上才能使用匿名變量【要不然失去了他的意義】

七、案例

package main
import "fmt"
import "net"
func main() {
	/*一、聲明*/
	var a int         //聲明一個(gè)整型類型的變量,可以保存整數(shù)數(shù)值
	var b string      //聲明一個(gè)字符串類型的變量
	var c float32     //聲明一個(gè)32位浮點(diǎn)切片類型的變量,浮點(diǎn)切片表示由多個(gè)浮點(diǎn)類型組成的數(shù)據(jù)結(jié)構(gòu)
	var d func() bool //聲明一個(gè)返回值為布爾類型的函數(shù)變量,這種形式一般用于回調(diào)函數(shù)
	var e struct {    //聲明一個(gè)結(jié)構(gòu)體類型的變量
		x int
	}
	var f bool //聲明一個(gè)布爾類型的變量
	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
	//		}
	//	)

	//三、編譯器推導(dǎo)類型的格式[一定要賦值,這是要編譯時(shí)進(jìn)行類型的推導(dǎo)]
	var hp = 100
	fmt.Println(hp)	
	fp,ap:=20,30
	fmt.Println(fp,ap)
	//四、短變量聲明并初始化
	//hp := 10 //error no new variables on left side of :=  在“:=”的左邊沒(méi)有新變量出現(xiàn),意思就是“:=”的左邊變量已
	//多個(gè)短變量聲明【編譯器不會(huì)報(bào)err重復(fù)定】
	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)	
	//五、匿名變量——沒(méi)有名字的變量
	a,_=10,20
}

以上就是Go語(yǔ)言基礎(chǔ)變量的聲明及初始化示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言基礎(chǔ)變量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Golang異常處理之defer,panic,recover的使用詳解

    Golang異常處理之defer,panic,recover的使用詳解

    這篇文章主要為大家介紹了Go語(yǔ)言異常處理機(jī)制中defer、panic和recover三者的使用方法,文中示例代碼講解詳細(xì),需要的朋友可以參考下
    2022-05-05
  • go語(yǔ)言日志實(shí)現(xiàn)詳解(打印日志、日志寫(xiě)入文件和日志切割)

    go語(yǔ)言日志實(shí)現(xiàn)詳解(打印日志、日志寫(xiě)入文件和日志切割)

    golang內(nèi)置了log包,實(shí)現(xiàn)簡(jiǎn)單的日志服務(wù),下面這篇文章主要給大家介紹了關(guān)于go語(yǔ)言日志實(shí)現(xiàn)(打印日志、日志寫(xiě)入文件和日志切割)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例

    golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例

    這篇文章主要為大家介紹了golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 最新評(píng)論