golang學習筆記[5] 整型

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


golang的整型總類眾多,但一般只是使用使用int或者uintt就好了,


package mainimport ("fmt""unsafe")func main() {var i1 int8 = 1  //1 bytevar i2 int16 = 2 //2 bytevar i3 int32 = 3 // 4 bytevar i4 int64 = 4 // 8 bytevar i5 int = 5   // 32位:4 64位:8var i6 uint8 = 1  // 1 bytevar i7 uint16 = 2 // 2 bytevar i8 uint32 = 3 // 4 bytevar i9 uint64 = 4 // 8 bytevar i10 uint = 5  // 32位:4 64位:8var i11 byte = 1 //相當於uint8 1 bytevar i12 rune = 3 //相當於int32 4 bytevar i13 uintptr = 6 // 32位:4 64位:8fmt.Println(unsafe.Sizeof(i13)) //8fmt.Println(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13) //1 2 3 4 5 1 2 3 4 5 1 3 6}


int類型和int32或者int64都不可以直接相加減,只有同類型(類型名相同)才能相加減,golang不支援隱式轉換。

package mainfunc main() {var i1 int = 1var i2 int32 = 2var i3 int64 = 3i4 := i1 + i2 }

.\main.go:9: invalid operation: i1 + i2 (mismatched types int and int32)


使用int(變數名強制轉換)

package main

import (
    "fmt"
)

func main() {

    var i1 int = 1
    var i2 int32 = 2
    var i3 int64 = 3

    i4 := i1 + int(i2) //int32強制轉換為int
    i5 := i1 + int(i3) //int64強制轉換為int

    fmt.Println(i4, i5)
}










聯繫我們

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