初識golang,變數,常量,iota的學習

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 變數的定義: go總使用var來聲明變數,在函數外面聲明變數的方式有 var 變數1, 變數2, 變數3 [int] = 1, 2, 3,其中int這個型別宣告可以省略。如果在函數內部聲明可以使用以下這種更加簡便的方法 變數1, 變數2, 變數3 := 1, 2, 3,這種方式只能在函數內使用。   常量的使用: go中常量可以定義為數組、布爾值、字串等類型。使用const 常量名 [常量類型] = 常量值。   也可以採用分組聲明的方式,如: const pi = 3.14 const prefix = "Go_" 
var i int var sum int   採用分組後: const (     pi = 3.14      prefix = "Go_"  )   var (     i int     sum int  )

在分組聲明是,const分組的第一個常量被預設的設定為0值,第二個及後續的常量被預設設定為他前面那個常量的運算式,如果那個常量的值似乎iota,則它也被設定為iota,iota是go的一個關鍵字,它預設值為0,並逐步增1,注意:只有iota在遇到一個const關鍵字時,它才會被重設為0,如:

const (

    i = iota

    j = 3.14

    k = iota

    l 

) 那麼列印出來的結果是 i=0,j=3.14,k=2,l=3 

const (     _ = iota     kb = 1 << (10 * iota)     mb     gb     tb     pb )
可以在同一行使用多個iota,他們會各種遞增不會相關幹擾。 const (     i , j  = 2*iota, iota     m, n )   內建類型: 布爾值:go中布爾實值型別的值只有兩個,分別是true和false,它與其他值不能相互轉化,如和1、0。 數群組類型:go同時指出無符號和帶符號兩種,其中有rune, int8, int16, int32, int64和byte, uint8, uint16, uint32, uint64,其中rune為int32,btye為uint8的別稱。需要注意的是,這些類型的變數之間不允許互相賦值和操作,不然後在編譯時間報錯。如: var a int8 var b int32 var c = a + b

這樣是不行的,還有int和int32不可以相互操作。浮點型有float32和float64兩種,沒有float類型。複試類型,go預設支援complex128(64位實數+64為虛數),也有complex64。

字串:go中字串採用urf-8編碼,字串用一對雙引號或反引號來定義,字串是不可變的,如果要改變字串的值,可以使用[]rune來強制轉換,再修改完成後再用string()轉換回來。如: s := "hello" c := []rune(s) c[0] = 'c' s := string(c) 注意如果類型中存放值不超過類型範圍,類型可以不用強制轉換,如byte := 'c',可以來存放字元。聲明多行字串可以使用反引號來聲明,字串在代碼中的形式就是列印時的形式,它沒有字元轉義,換行也將原樣輸出。
注意:go對於已聲明而未使用的變數,常量,或引入的包未使用,都會報錯。go的一些預設行為,大寫字母開頭的變數可匯出,也就是在其他包中可以訪問,是公用變數,小寫字母開頭的為私人變數。函數名也一樣,大寫字母開頭的為public函數,小寫字母開頭的為private函數。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.