Golang筆記之變數

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

哈哈

package main// 關鍵字var 聲明變數 類型資訊放在變數名後//聲明一個int型變數var v1 int//聲明一個string類型var v2 string//聲明多個變數var v3, v4 bool//[0 0 0 0 0 0 0 0 0 0] 數組var v5 [10]int//數組切片var v6 []int//聲明結構體var v7 struct {    f int}// 聲明指標var v8 *int//聲明map key為string類型,value是int類型var v9 map[string]int// 匿名函數和閉包var v10 func(a int) int//多個需要聲明的變數放在一起var (    name int    age  string)
聲明變數
package mainimport "fmt"func main() {    //聲明變數的初始化,var 可以省略寫法    var v1 int = 10    //編譯器可以自動算出v2的類型    var v2 = 10    //編譯器自動算出v3的類型    //同時進行變數聲明和初始化    v3 := 10    fmt.Println(v1, v2, v3)}//  出現在:= 左側的變數 只能聲明一次,不可重複
變數初始化
package mainimport "fmt"//聲明之後再賦值func main() {    var i int    i = 100    var j int    j = 50    //Go語言的多重賦值,如下代碼交換i和j的變數    //go的多重賦值特性可以很明顯的最佳化代碼,相比c/c++    i, j = j, i    fmt.Println(i, j)}
變數賦值
package mainimport "fmt"//使用強型別語言編程時,調用函數時為了擷取一個值,卻因為函數返回多個值,又得定義一堆變數//可以使用多重返回和匿名變數來避免這些問題func GetName() (firstname, lastname, nickname string) {    return "yu", "yuchao", "chaoge"}//只想獲得nickname,函數調用語句可以寫func main() {    //最佳化代碼的清晰度    _, _, nickname := GetName()    fmt.Println(nickname)}
匿名變數
package main//聲明go代碼所屬的包,包是go例最基本的分發單位,要產生可執行程式,必須名為main,且下面有個main()函數,作為執行起點//匯入本程式所以來的包,下列用到Println()函數,所以匯入fmtimport "fmt"//不得在原始碼中寫入未使用的包,否則編譯器會出錯//軟體工程的設計哲學,強制左花括弧 { 的置放位置//函數名的大小寫規則func Compute(value1 int, value2 float64) (resule float64, err error) {    //函數體    fmt.Println(value1, value2)    return}//main函數不能帶參數,也不能定義傳回值,命令列傳入的參數存在os.Args變數中func main() {    Compute(1, 3)}
代碼解讀
package main//常量是編譯期間就已知,而且不可改變,可以是數實值型別(整型、浮點型、複數)、布爾類型、字串const Pi float64 = 3.14159265358979323846//無類型浮點常量const Zero = 0.0const (    //無類型常量    size int64 = 1024    eof        = -1)//常量多重賦值 u=0.0  v=3.0const u, v float32 = 0, 3//無類型整型,字串常量const a, b, c = 3, 4, "foo"
常量

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.