站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        go語言是動態(tài)語言嗎

        go不是動態(tài)語言。go語言是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,其變量(variable)是有明確類型的,編譯器也會檢查變量類型的正確性;因此在使用變量之前必須聲明數(shù)據(jù)類型需要,語法“var 變量名 變量類型”。

        go語言是動態(tài)語言嗎

        本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

        go不是動態(tài)語言,而是靜態(tài)語言。

        Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的開源編程語言。

        動態(tài)語言和靜態(tài)語言介紹

        • 動態(tài)語言(弱類型語言)是運行時才確定數(shù)據(jù)類型的語言,變量在使用之前無需申明類型,通常變量的值是被賦值的那個值的類型。比如Php、Asp、JavaScript、Python、Perl等等。

        var s ="hello"; var i = 0; var b = true;
        登錄后復(fù)制

        • 靜態(tài)語言(強類型語言)是編譯時變量的數(shù)據(jù)類型就可以確定的語言,大多數(shù)靜態(tài)語言要求在使用變量之前必須聲明數(shù)據(jù)類型。比如Java、C、C++、C#、Go等。

        String s="hello";    //String 類型的變量 boolean b=true;    //boolean 類型的變量 int i=0;    //int 類型的變量
        登錄后復(fù)制

        • 弱類型語言是數(shù)據(jù)類型可以被忽略的語言。它與強類型語言相反,一個變量可以賦不同數(shù)據(jù)類型的值。一個變量的類型是由其上下文決定的,效率更高。

        • 強類型語言是必須強制確定數(shù)據(jù)類型的語言,一旦一個變量被指定了某個數(shù)據(jù)類型,如果不經(jīng)過強制轉(zhuǎn)換,那么它就永遠(yuǎn)是這種數(shù)據(jù)類型。一個變量的類型是申明的時候就已經(jīng)確定的,更安全。

        Golang 變量的聲明(使用var關(guān)鍵字)

        Go語言是靜態(tài)類型語言,因此變量(variable)是有明確類型的,編譯器也會檢查變量類型的正確性。在數(shù)學(xué)概念中,變量表示沒有固定值且可改變的數(shù)。但從計算機系統(tǒng)實現(xiàn)角度來看,變量是一段或多段用來存儲數(shù)據(jù)的內(nèi)存。

        聲明變量的一般形式是使用 var 關(guān)鍵字:

        var name type
        登錄后復(fù)制

        • var 是聲明變量的關(guān)鍵字

        • name 是變量名

        • type 是變量的類型

        需要注意的是,Go語言和許多編程語言不同,它在聲明變量時將變量的類型放在變量的名稱之后。這樣做的好處就是可以避免像C語言中那樣含糊不清的聲明形式,例如:int* a, b; 。其中只有 a 是指針而 b 不是。如果你想要這兩個變量都是指針,則需要將它們分開書寫。而在 Go 中,則可以和輕松地將它們都聲明為指針類型:

        var a, b *int
        登錄后復(fù)制

        Go語言的基本類型有:

        • bool

        • string

        • int、int8、int16、int32、int64

        • uint、uint8、uint16、uint32、uint64、uintptr

        • byte // uint8 的別名

        • rune // int32 的別名 代表一個 Unicode 碼

        • float32、float64

        • complex64、complex128

        當(dāng)一個變量被聲明之后,系統(tǒng)自動賦予它該類型的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字符串,指針為 nil 等。所有的內(nèi)存在 Go 中都是經(jīng)過初始化的。

        變量的命名規(guī)則遵循駱駝命名法,即首個單詞小寫,每個新單詞的首字母大寫,例如:numShips 和 startDate 。

        變量的聲明有幾種形式,通過下面幾節(jié)進行整理歸納。

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

        Go語言的變量聲明的標(biāo)準(zhǔn)格式為:

        var 變量名 變量類型
        登錄后復(fù)制

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

        批量格式

        覺得每行都用 var 聲明變量比較煩瑣?沒關(guān)系,還有一種為懶人提供的定義變量的方法:

        var (     a int     b string     c []float32     d func() bool     e struct {         x int     } )
        登錄后復(fù)制

        使用關(guān)鍵字 var 和括號,可以將一組變量定義放在一起。

        簡短格式

        除 var 關(guān)鍵字外,還可使用更加簡短的變量定義和初始化語法。

        名字 := 表達式
        登錄后復(fù)制

        需要注意的是,簡短模式(short variable declaration)有以下限制:

        • 定義變量,同時顯式初始化。

        • 不能提供數(shù)據(jù)類型。

        • 只能用在函數(shù)內(nèi)部。

        和 var 形式聲明語句一樣,簡短變量聲明語句也可以用來聲明和初始化一組變量:

        i, j := 0, 1
        登錄后復(fù)制

        下面通過一段代碼來演示簡短格式變量聲明的基本樣式。

        func main() {    x:=100    a,s:=1, "abc" }
        登錄后復(fù)制

        因為簡潔和靈活的特點,簡短變量聲明被廣泛用于大部分的局部變量的聲明和初始化。var 形式的聲明語句往往是用于需要顯式指定變量類型地方,或者因為變量稍后會被重新賦值而初始值無關(guān)緊要的地方。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 欧美精品天天操| 99久久人妻无码精品系列 | 四虎国产精品永久地址51| 精品国内片67194| 色偷偷888欧美精品久久久| 亚洲av午夜福利精品一区| 精品无码av一区二区三区| 91精品一区国产高清在线| 66精品综合久久久久久久| 国产一区麻豆剧传媒果冻精品| 精品国产成人国产在线观看| 国产福利91精品一区二区三区| 亚洲高清专区日韩精品| 国产一区精品| 久久99精品国产一区二区三区| 亚洲精品无码成人AAA片| 免费短视频软件精品一区二区| 久久精品a亚洲国产v高清不卡| 人妻偷人精品成人AV| 精品国产AⅤ一区二区三区4区| 国产精品第1页| 亚洲精品国产字幕久久不卡| 欧美精品播放| 久久久久久极精品久久久 | 国产成人亚洲精品影院| 亚洲日韩精品欧美一区二区| 国语自产少妇精品视频蜜桃| 国产va免费精品| 国产亚洲美女精品久久久久狼| 精品久久久久久无码人妻热| 无码少妇精品一区二区免费动态| 久久久久九国产精品| 久久人人超碰精品CAOPOREN| 国产精品自在线拍国产第一页| 亚洲AV无码成人精品区蜜桃| 全国精品一区二区在线观看| 九九热这里只有国产精品| 国产系列高清精品第一页| 黄床大片免费30分钟国产精品| 国产精品一区二区av不卡| 国产精品亚洲欧美大片在线观看 |