首頁 >後端開發 >Golang >go語言是動態語言嗎

go語言是動態語言嗎

青灯夜游
青灯夜游原創
2023-01-06 19:18:443399瀏覽

go不是動態語言。 go語言是Google開發的一種靜態強類型、編譯型、並髮型,並具有垃圾回收功能的程式語言,其變數(variable)是有明確類型的,編譯器也會檢查變數類型的正確性;因此在使用變數之前必須聲明資料類型需要,語法「var 變數名變數類型」。

go語言是動態語言嗎

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

go不是動態語言,而是靜態語言。

Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的靜態強型別、編譯型、並髮型,並具有垃圾回收功能的開源程式語言。

動態語言與靜態語言介紹

  • #動態語言(弱型別語言)是運行時才確定資料類型的語言,變數在使用之前無需申明類型,通常變數的值是被賦值的那個值的類型。例如Php、Asp、JavaScript、Python、Perl等等。

var s ="hello";
var i = 0;
var b = true;
  • 靜態語言(強類型語言)是編譯時變數的資料類型就可以確定的語言,大多數靜態語言要求在使用變數之前必須聲明資料類型。例如Java、C、C 、C#、Go等。

String s="hello";    //String 类型的变量
boolean b=true;    //boolean 类型的变量
int i=0;    //int 类型的变量
  • #弱型別語言是資料型別可以被忽略的語言。它與強型別語言相反,一個變數可以賦給不同資料型別的值。一個變數的類型是由其上下文決定的,效率更高。

  • 強型別語言是必須強制確定資料型別的語言,一旦變數被指定了某個資料型別,如果不經過強制轉換,那麼它就永遠是這種資料型態。一個變數的型別是申明的時候就已經確定的,比較安全。

Golang 變數的宣告(使用var關鍵字)

Go語言是靜態類型語言,因此變數( variable)是有明確類型的,編譯器也會檢查變數類型的正確性。在數學概念中,變數表示沒有固定值且可改變的數。但從電腦系統實現角度來看,變數是一段或多段用來儲存資料的記憶體。

宣告變數的一般形式是使用var 關鍵字:

var name type
  • #var 是宣告變數的關鍵字

  • name 是變數名稱

  • type 是變數的型別

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

var a, b *int

Go語言的基本型別有:

  • bool

  • #string

  • int、int8、int16、int32、int64

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

  • byte // uint8 的別名

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

  • float32、float64

  • complex64、complex128

當一個變數被宣告之後,系統自動賦予它該類型的零值:int 為0,float 為0.0,bool 為false,string 為空字串,指標為nil 等。所有的內存在 Go 中都是經過初始化的。

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

變數的陳述有幾種形式,透過下面幾節進行整理歸納。

標準格式

Go語言的變數宣告的標準格式為:

var 变量名 变量类型

變數宣告以關鍵字var 開頭,後置變數類型,行尾無須分號。

批次格式

覺得每行都用 var 宣告變數比較煩瑣?沒關係,還有一種為懶人提供的定義變數的方法:

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

使用關鍵字 var 和括號,可以將一組變數定義放在一起。

簡短格式

除 var 關鍵字外,還可使用更簡短的變數定義和初始化語法。

名字 := 表达式

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

  • 定義變量,同時明確初始化。

  • 不能提供資料型別。

  • 只能用在函數內部。

和 var 形式宣告語句一樣,簡短變數宣告語句也可以用來宣告和初始化一組變數:

i, j := 0, 1

下面通过一段代码来演示简短格式变量声明的基本样式。

func main() {
   x:=100
   a,s:=1, "abc"
}

因为简洁和灵活的特点,简短变量声明被广泛用于大部分的局部变量的声明和初始化。var 形式的声明语句往往是用于需要显式指定变量类型地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。

【相关推荐:Go视频教程编程教学

以上是go語言是動態語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn