(二)Golang的變量

爲什麼需要變量:

  • 變量是程序的基本組成單位
    不論是使用哪種高級程序語言編寫程序,變量都是其程序的基本組成單位,比如:下面代碼中sum、sub都是變量。
    func getVal(num1 int, num2 int) (int, int) {
    sum := num1 + mum2
    sub := num1 - num2
    return sum, sub
    }
    func main() {
    sum, sub := getVal(30, 30)
    fmt.Println("sum=", sum, "sub=", sub)
    sum2, _ := getVal(10, 30)
    fmt.Println("sum=", sum2)
    }

    變量的介紹:

  • 變量的概念
    變量相當於內存中一個數據存儲空間的表示,可以把變量看做是一個房間的門牌號,通過門牌號可以找到房間,同樣的道理,通過變量名可以訪問到變量(值)。
  • 變量的使用步驟
    1)定義變量
    2)給變量賦值
    3)使用變量
    package main
    import "fmt"
    func main() {
    //定義變量
    var i int
    //給i賦值
    i = 10
    //使用變量
    fmt.Println("i=",i) 
    }
    D:\goproject\src\go_code\chapter02\demon01>go run main.go
    i= 10

    變量使用注意事項:

  • 變量表示內存中的一個存儲區域;
  • 該區域有自己的名稱(變量名)和類型(數據類型);
  • Golang變量使用的三種方式:
    1)第一種,指定變量類型,定義後若不賦值,使用默認值;
    package main
    import "fmt"
    func main() {
    //golang的變量使用方式
    //第一種:指定變量類型,定義後若不賦值,使用默認值
    //init的默認值是0
    var i int
    fmt.Println("i=", i)
    }
    D:\goproject\src\go_code\chapter02\demon02>go run main.go
    i= 0

    2)第二種,根據值自行判斷變量類型(類型引導)

    package main
    import "fmt"
    func main() {   
    //第二種:根據值自行判斷變量類型(類型推導)
    var num = 10.11
    fmt.Println("num=", num)
    }
    D:\goproject\src\go_code\chapter02\demon02>go run main.go
    num= 10.11

    3)第三種,省略var定義變量並賦值

    package main
    import "fmt"
    func main() {
    //第三種:省略var,:= 的:不能省略,否則報錯
    //下面的方式等價於 var name string   name = "tom"
    name := "tom"
    fmt.Println("name=", name)
    }
    D:\goproject\src\go_code\chapter02\demon02>go run main.go
    name= tom
  • 多變量定義
    1)在編程中,有時我們需要一次性定義多個變量,Golang也提供了這樣的語法【在函數裏面定義】

    package main
    import "fmt"
    func main() {
    //該案例演示Golang如何一次性定義多個變量
    var a1, a2, a3 int
    fmt.Println("a1=", a1, "a2=", a2, "a3=", a3)
    
    //一次性定義多個變量的方式二
    var b1, b2, b3 = 100, "tom", 888
    fmt.Println("b1=", b1,"b2=", b2,"b3=", b3)
    
    //一次性定義多個變量的方式三,同樣可以使用類型推導
    c1, name, c3 := 200, "mary", 999
    fmt.Println("c1=", c1,"name=", name,"c3=", c3)
    }
    D:\goproject\src\go_code\chapter02\demon03>go run main.go
    a1= 0 a2= 0 a3= 0
    b1= 100 b2= tom b3= 888
    c1= 200 name= mary c3= 999

    2)一次性定義全局變量【在go中函數外部定義變量就是全局變量】

    package main
    import "fmt"
    //定義全局變量
    var n1 = 100
    var n2 = 200
    var name = "jack"
    //上面的定義方式,也可以改成一次性定義
    var (
    n3 = 300
    n4 = 400
    name2 = "zhangsan"
    )
    func main() {
    fmt.Println("n1=", n1,"n2=", n2,"name=", name)
    fmt.Println("n3=", n3,"n4=", n4,"name2=", name2)
    }
    D:\goproject\src\go_code\chapter02\demon03>go run var.go
    n1= 100 n2= 200 name= jack
    n3= 300 n4= 400 name2= zhangsan
  • 該區域的數據值可以在同一類型範圍內不斷變化
    package main
    import "fmt"
    func main() {
    //該區域的數據值可以在同一類型範圍內不斷變化
    var i int = 10
    i = 30
    i = 50
    fmt.Println("i=", i)
    }
    D:\goproject\src\go_code\chapter02\demon03>go run var02.go
    i= 50
  • 變量在同一個作用域(在一個函數或者代碼塊)內不能重名;
  • 變量的三要素
    變量=變量名+值+數據類型
  • Golang的變量如果沒有賦初值,編譯器會使用默認值,比如,int默認值爲0;string默認值爲空串;小數默認值爲0。
  • 程序中+號的使用
    1)當左右兩邊都是數值型時,則做加法運算;
    2)當左右兩邊都是字符串時,則做字符串拼接;

    package main
    import "fmt"
    //演示golang中+號的使用
    func main() {
    var i = 1
    var j = 2
    var r = i + j //做加法運算
    fmt.Println("r=", r)
    
    var str1 = "hello"
    var str2 = "world"
    var res = str1 + str2 //做拼接操作
    fmt.Println("res=", res)
    }
    D:\goproject\src\go_code\chapter02\demon04>go run main.go
    r= 3
    res= helloworld
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章