亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、概述

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

二、聲明變量

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

變量的聲明格式:

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

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

a.標準格式

以關(guān)鍵字var開頭,后置變量類型,行尾無須分號

var變量名 變量類型

b.批量格式

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

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

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

var hp = 100

四、短變量聲明并初始化

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

xp := 10
fp,ap=20,30

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

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

a,_=10,20

六、注意

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

七、案例

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

	//三、編譯器推導(dǎo)類型的格式[一定要賦值,這是要編譯時進行類型的推導(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 :=  在“:=”的左邊沒有新變量出現(xiàn),意思就是“:=”的左邊變量已
	//多個短變量聲明【編譯器不會報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)	
	//五、匿名變量——沒有名字的變量
	a,_=10,20
}

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

相關(guān)文章

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

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

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

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

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

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

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