最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

全部開發(fā)者教程

Go 入門教程

首頁 慕課教程 Go 入門教程 Go 入門教程 12 Go 的浮點(diǎn)型(float)

Go 語言的浮點(diǎn)型(float)

前面兩個(gè)小節(jié)我們我們都是在講解整型的數(shù)據(jù)類型,也就是說都是整數(shù),但是在開發(fā)中我們也會(huì)經(jīng)常使用小數(shù)數(shù)據(jù),這節(jié)課我們就主要介紹 Go 語言中處理小數(shù)的數(shù)據(jù)類型

1. 實(shí)數(shù)類型

Go 語言提供了兩種精度的浮點(diǎn)數(shù) float32float64,它們的算術(shù)規(guī)范由 IEEE754 浮點(diǎn)數(shù)國際標(biāo)準(zhǔn)定義,該浮點(diǎn)數(shù)規(guī)范被所有現(xiàn)代的 CPU 支持。

序號(hào) 類型 長度
1 float32 1.401298464324817e-45~3.4028234663852886e+38
2 float64 5e-324~1.7976931348623157e+308

2. 復(fù)數(shù)類型

序號(hào) 類型 長度
1 complex64 實(shí)部和虛部都是一個(gè)float32
2 complex128 實(shí)部和虛部都是一個(gè)float64

3. 使用示例

通過幾個(gè)示例加深對(duì)這幾個(gè)數(shù)據(jù)類型的理解。

3.1 實(shí)數(shù)類型示例

在 Go 語言中小數(shù)值類型取決于計(jì)算機(jī)操作系統(tǒng)的位數(shù),我是使用的 64位 的計(jì)算機(jī),所以使用:=時(shí),會(huì)得到一個(gè)類型為 float64 的變量

package main

import (
    "fmt"
)

func main() {
    var a float32
    a = 1.2
    fmt.Println("a = ", a) // 此處的結(jié)果

    //自動(dòng)推導(dǎo)類型
    b := 1.2
    fmt.Printf("b type is %T\n", b)
    fmt.Println("b = ", b)
}

輸出結(jié)果:

圖片描述

實(shí)數(shù)類型示例輸出結(jié)果

3.2 復(fù)數(shù)類型示例

在 Go 語言中復(fù)數(shù)值類型取決于計(jì)算機(jī)操作系統(tǒng)的位數(shù),我是使用的 64 位的計(jì)算機(jī),所以使用:=時(shí),會(huì)得到一個(gè)類型為 complex128 的變量

package main

import (
    "fmt"
)

func main() {
    var a complex64
    a = 1.2 + 2.22i
    fmt.Println("a = ", a) // 此處的結(jié)果

    //自動(dòng)推導(dǎo)類型
    b := 1.2 + 3.45i
    fmt.Printf("b type is %T\n", b)
    fmt.Println("b = ", b)

    //通過內(nèi)建函數(shù)取實(shí)部和虛部
    fmt.Println("real(b) = ", real(b), " , imag(b) = ", imag(b))
}

輸出結(jié)果:

圖片描述

復(fù)數(shù)類型示例輸出結(jié)果

4. 小結(jié)

本文主要學(xué)習(xí)了 Go 語言中的浮點(diǎn)型的使用,注意高精度向低精度轉(zhuǎn)失真的風(fēng)險(xiǎn)。