GoLang Go 基礎類型

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

Boolean

布爾值的類型為bool,true或false,預設false

    var isActive bool  // 全域變數聲明    var enabled, disabled = true, false  // 忽略類型的聲明    func test() {        var available bool  // 一般聲明        valid := false      // 簡短聲明        available = true    // 賦值操作    }

數實值型別

整數類型

整數類型有無符號和帶符號兩種。Go同時支援int和uint,這兩種類型的長度相同,但具體長度取決於不同編譯器的實現
Go裡面也有直接定義好位元的類型:
rune, int8, int16, int32, int64和byte, uint8, uint16, uint32, uint64。

整數

  • int8(-128 -> 127)
  • int16(-32768 -> 32767)
  • int32(-2,147,483,648 -> 2,147,483,647)
  • int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)

不帶正負號的整數:

  • uint8(0 -> 255)
  • uint16(0 -> 65,535)
  • uint32(0 -> 4,294,967,295)
  • uint64(0 -> 18,446,744,073,709,551,615)

其中rune是int32的別稱byte是uint8的別稱

浮點數

浮點數的類型有float32和float64兩種(沒有float類型),預設是float64。(IEEE-754 標準)
應儘可能地使用 float64,因為 math 包中所有有關數學運算的函數都會要求接收這個類型。

  • float32(+- 1e-45 -> +- 3.4 * 1e38)
  • float64(+- 5 1e-324 -> 107 1e308)
複數

預設類型是complex128(64位實數+64位虛數)。如果需要小一些的,也有complex64(32位實數+32位虛數)。
複數的形式為RE + IMi,其中RE是實數部分,IM是虛數部分,而最後的i是虛數單位。

var c1 complex64 = 5 + 10ifmt.Printf("The value is: %v", c1)// 輸出: 5 + 10i
格式化說明符

在格式化字串裡,
%d 用于格式化整數(%x 和 %X 用于格式化 16 進位表示的數字),
%g 用于格式化浮點型(%f 輸出浮點數,%e 輸出科學計數標記法),
%0d 用於規定輸出定長的整數,其中開頭的數字 0 是必須的。

%n.mg 用於表示數字 n 並精確到小數點後 m 位,除了使用 g 之外,還可以使用 e 或者 f,例如:使用格式化字串 %5.2e 來輸出 3.4 的結果為 3.40e+00。

字串 string

字串就是一串固定長度的字元串連起來的字元序列。Go的字串是由單個位元組串連起來的。也就是說對於傳統的字串是由字元組成的,而Go的字串不同,它是由位元組組成的。

Go語言的字串的位元組使用UTF-8編碼標識Unicode文本。
字串的表示很簡單,用雙引號("")或者反引號(``)來建立.例如:"hello world" 或者 'hello world'。

兩者的區別:

雙引號之間的轉義符會被轉義,而反引號之間的字元保持不變。

//範例程式碼    var frenchHello string  // 聲明變數為字串的一般方法    var emptyString string = ""  // 聲明了一個字串變數,初始化為空白字串    func test() {        no, yes, maybe := "no", "yes", "maybe"  // 簡短聲明,同時聲明多個變數        japaneseHello := "Konichiwa"  // 同上        frenchHello = "Bonjour"  // 常規賦值    }
s := "hello"c := []byte(s)  // 將字串 s 轉換為 []byte 類型c[0] = 'c's2 := string(c)  // 再轉換回 string 類型fmt.Printf("%s\n", s2)

聯繫我們

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