亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Golang 菜鳥(niǎo)教程

Golang 控制語(yǔ)句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 短變量聲明運(yùn)算符(:=)

Golang中的短變量聲明運(yùn)算符(:=)用于創(chuàng)建具有適當(dāng)名稱(chēng)和初始值的變量。 使用此操作符的主要目的是在函數(shù)內(nèi)聲明和初始化局部變量,并縮小變量的作用域。變量的類(lèi)型由表達(dá)式的類(lèi)型決定。var關(guān)鍵字還用于創(chuàng)建特定類(lèi)型的變量。所以你可以說(shuō)在Golang中有兩種創(chuàng)建變量的方法,如下所示:

  • 使用var關(guān)鍵字

  • 使用短變量聲明運(yùn)算符(:=)

在本文中,我們將僅討論短變量聲明運(yùn)算符。要了解var關(guān)鍵字,可以在Go中引用var關(guān)鍵字

使用短變量聲明運(yùn)算符的語(yǔ)法:

variable_name := 表達(dá)式 或 值

在這里,必須在聲明后立即初始化變量,無(wú)需提及變量的類(lèi)型, 右側(cè)的表達(dá)式或值用于評(píng)估變量的類(lèi)型。而使用var關(guān)鍵字可以避免在聲明時(shí)進(jìn)行初始化

示例:在這里,我們使用短聲明運(yùn)算符聲明變量,而未指定變量的類(lèi)型。變量的類(lèi)型由:=運(yùn)算符右側(cè)的表達(dá)式類(lèi)型決定。

package main

import "fmt"

func main() {

    //聲明和初始化變量
    a := 30

    //接受一個(gè)字符串變量
    Language := "Go 語(yǔ)言菜鳥(niǎo)教程"

    fmt.Println("a的值為: ", a)
    fmt.Println("Language的值: ", Language)

}

輸出:

a的值為:  30
Language的值:  Go 語(yǔ)言菜鳥(niǎo)教程

使用短聲明運(yùn)算符(:=)聲明多個(gè)變量

短聲明運(yùn)算符也可以用于在單個(gè)聲明中聲明相同類(lèi)型或不同類(lèi)型的多個(gè)變量。這些變量的類(lèi)型由:=運(yùn)算符右側(cè)的表達(dá)式評(píng)估。

package main

import "fmt"

func main() {

    //多個(gè)相同類(lèi)型的變量(int)
    nhooo1, nhooo2, nhooo3 := 117, 7834, 5685

    //不同類(lèi)型的多個(gè)變量
    nhooo4, nhooo5, nhooo6 := "GFG", 859.24, 1234

    //顯示值和變量類(lèi)型
    fmt.Printf("nhooo1 的值為 : %d\n", nhooo1)
    fmt.Printf("nhooo1 的類(lèi)型為 : %T\n", nhooo1)

    fmt.Printf("\nnhooo2 的值為 : %d\n", nhooo2)
    fmt.Printf("nhooo2 的類(lèi)型為 : %T\n", nhooo2)

    fmt.Printf("\nnhooo3 的值為 : %d\n", nhooo3)
    fmt.Printf("nhooo3 的類(lèi)型為 : %T\n", nhooo3)

    fmt.Printf("\nnhooo4 的值為 : %s\n", nhooo4)
    fmt.Printf("nhooo4 的類(lèi)型為 : %T\n", nhooo4)

    fmt.Printf("\nnhooo5 的值為 : %f\n", nhooo5)
    fmt.Printf("nhooo5 的類(lèi)型為 : %T\n", nhooo5)

    fmt.Printf("\nnhooo6 的值為 : %d\n", nhooo6)
    fmt.Printf("nhooo6 的類(lèi)型為 : %T\n", nhooo6)

}

輸出:

nhooo1 的值為 : 117
nhooo1 的類(lèi)型為 : int

nhooo2 的值為 : 7834
nhooo2 的類(lèi)型為 : int

nhooo3 的值為 : 5685
nhooo3 的類(lèi)型為 : int

nhooo4 的值為 : GFG
nhooo4 的類(lèi)型為 : string

nhooo5 的值為 : 859.240000
nhooo5 的類(lèi)型為 : float64

nhooo6 的值為 : 1234
nhooo6 的類(lèi)型為 : int

:=聲明的是局部變量還是全局變量?

借助短變量聲明操作符(:=),您只能聲明僅具有塊級(jí)作用域的局部變量。通常,局部變量在功能塊內(nèi)部聲明。如果嘗試使用short聲明運(yùn)算符聲明全局變量,則會(huì)拋出錯(cuò)誤消息。

package main  
    
import "fmt"
    
//使用var關(guān)鍵字進(jìn)行聲明
//并初始化變量
//它是包變量,或者你可以說(shuō)全局范圍
var nhooo1 = 900  
    
//使用簡(jiǎn)短的變量聲明
//它會(huì)拋出一個(gè)錯(cuò)誤
nhooo2 := 200  
    
func main() {  
    
//在函數(shù)內(nèi)部訪問(wèn)nhooo1
fmt.Println(nhooo1)  
   
// 在函數(shù)內(nèi)部訪問(wèn)nhooo2
fmt.Println(nhooo2)  
        
}

輸出錯(cuò)誤:

.\test.go:12:1: syntax error: non-declaration statement outside function body
#.\test.go:12:1:語(yǔ)法錯(cuò)誤:函數(shù)主體外的非聲明語(yǔ)句
package main

import "fmt"

//使用var聲明一個(gè)全局變量
var nhooo1 = 900

func main() {

    //使用簡(jiǎn)短的變量聲明
    //在主函數(shù)中
    //它具有局部作用域,即不能
    //在主函數(shù)之外訪問(wèn)
    nhooo2 := 200

    //在函數(shù)內(nèi)部訪問(wèn)nhooo1
    fmt.Println(nhooo1)

    //在函數(shù)內(nèi)部訪問(wèn)nhooo2
    fmt.Println(nhooo2)

}

輸出:

900
200