go語言數據類型值--整型和浮點型


一、整型

1、整型的分類:

  有符號整型:    int8、int16、int32、int64

  對應的無符號整型: uint8、uint16、uint32、uint64

  uint就是我們熟知的byte類型,int16對應C語言的short型,int64對應C語言的long型,Unicode字符的rune類型和int32等價。

  

  哪些情況下使用 int 和 uint

    1.邏輯對整型范圍沒有特殊需求。

    2.例如,對象的長度使用內建 len() 函數返回,這個長度可以根據不同平台的字節長度進行變化。實際使用中,切片或 map 的元素數量等都可以用 int 來表示。

    3.反之,在二進制傳輸、讀寫文件的結構描述時,為了保持文件的結構不會受到不同編譯目標平台字節長度的影響,不要使用 int 和 uint。

 

2、整型的運算。

  1.運算符

    下面是關於Go語言中關於算數運算,邏輯運算和比較運算的二元運算符,按照先級遞減的順序排列

    *  /  %  <<  >>  &  &^

    +  -  |   ^

    == !=  <=  >  >=

    &&

    | |

    同一優先級使用左優先結合規則,也可用()提升優先級 

  2.類型轉化

    不同類型之間不能進行計算,如想進行計算需先進行類型轉換

var    i int32 = 10
var    j int64 = 20
var    w int = i + j        //compile error: misatched types int32 and int64

var    w int = int(i) + int(j)     //30     類型轉換后可計算
整型不同類型計算

  3.類型轉換后發生值改變的情況

//浮點數轉整型,會省略小數點后的值
f := 3.1415
i := int(f)
fmt.Println(f,i)    //  “3.1415  3”


//高位數的整型轉低位數的整型會導致值改變
var  i int16 = 26985
var  j int8  = int8(i)
fmt.Println("int16",i)
fmt.Println("int8",j)
轉換后值改變

 

二、浮點數 

1、浮點數精度

  float32:常量math.MaxFloat32表示float32能表示的最大數值,大約是3.4e38。大約可以提供6個十進制數的精度。

  float64:對應的常量math.MaxFloat64大約是1.8e308,可以提供十五個十進制數的精度。通常優先使用float64類型。

2、浮點數的打印

  %g  打印浮點數  

  %e  帶指數的打印形式(對應表格的數據)

  %f  打印對應表格的數據

package main
import (
    "fmt"
    "math"
)
func main() {
    print_float()
}

func print_float(){
    for x:=0;x<8;x++{
        fmt.Printf("x = %d   e^x = %8.3f\n",x,math.Exp(float64((x))))
    }
}

//  %8.3f     8表示展示數據的寬度,即顯示多少個數字,3表示精准度,即小數點后保留幾位
//運行結果
//x = 0   e^x =    1.000
//x = 1   e^x =    2.718
//x = 2   e^x =    7.389
//x = 3   e^x =   20.086
//x = 4   e^x =   54.598
//x = 5   e^x =  148.413
//x = 6   e^x =  403.429
//x = 7   e^x = 1096.633
浮點數的打印

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM