欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

go語(yǔ)言浮點(diǎn)型講解 go 浮點(diǎn)數(shù)

Go語(yǔ)言和其他語(yǔ)言的不同之基本語(yǔ)法

Go語(yǔ)言作為出現(xiàn)比較晚的一門(mén)編程語(yǔ)言,在其原生支持高并發(fā)、云原生等領(lǐng)域的優(yōu)秀表現(xiàn),像目前比較流行的容器編排技術(shù)Kubernetes、容器技術(shù)Docker都是用Go語(yǔ)言寫(xiě)的,像Java等其他面向?qū)ο蟮恼Z(yǔ)言,雖然也能做云原生相關(guān)的開(kāi)發(fā),但是支持的程度遠(yuǎn)沒(méi)有Go語(yǔ)言高,憑借其語(yǔ)言特性和簡(jiǎn)單的編程方式,彌補(bǔ)了其他編程語(yǔ)言一定程度上的不足,一度成為一個(gè)熱門(mén)的編程語(yǔ)言。

十年的樂(lè)都網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整樂(lè)都建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“樂(lè)都網(wǎng)站設(shè)計(jì)”,“樂(lè)都網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

最近在學(xué)習(xí)Go語(yǔ)言,我之前使用過(guò)C#、Java等面向?qū)ο缶幊痰恼Z(yǔ)言,發(fā)現(xiàn)其中有很多的編程方式和其他語(yǔ)言有區(qū)別的地方,好記性不如爛筆頭,總結(jié)一下,和其他語(yǔ)言做個(gè)對(duì)比。這里只總結(jié)差異的地方,具體的語(yǔ)法不做詳細(xì)的介紹。

種一棵樹(shù)最好的時(shí)間是十年前,其次是現(xiàn)在。

3)變量初始化時(shí)候可以和其他語(yǔ)言一樣直接在變量后面加等號(hào),等號(hào)后面為要初始化的值,也可以使用變量名:=變量值的簡(jiǎn)單方式

3)變量賦值 Go語(yǔ)言的變量賦值和多數(shù)語(yǔ)言一致,但是Go語(yǔ)言提供了多重賦值的功能,比如下面這個(gè)交換i、j變量的語(yǔ)句:

在不支持多重賦值的語(yǔ)言中,交換兩個(gè)變量的值需要引入一個(gè)中間變量:

4)匿名變量

在使用其他語(yǔ)言時(shí),有時(shí)候要獲取一個(gè)值,卻因?yàn)樵摵瘮?shù)返回多個(gè)值而不得不定義很多沒(méi)有的變量,Go語(yǔ)言可以借助多重返回值和匿名變量來(lái)避免這種寫(xiě)法,使代碼看起來(lái)更優(yōu)雅。

假如GetName()函數(shù)返回3個(gè)值,分別是firstName,lastName和nickName

若指向獲得nickName,則函數(shù)調(diào)用可以這樣寫(xiě)

這種寫(xiě)法可以讓代碼更清晰,從而大幅降低溝通的復(fù)雜度和維護(hù)的難度。

1)基本常量

常量使用關(guān)鍵字const 定義,可以限定常量類(lèi)型,但不是必須的,如果沒(méi)有定義常量的類(lèi)型,是無(wú)類(lèi)型常量

2)預(yù)定義常量

Go語(yǔ)言預(yù)定義了這些常量 true、false和iota

iota比較特殊,可以被任務(wù)是一個(gè)可被編譯器修改的常量,在每個(gè)const關(guān)鍵字出現(xiàn)時(shí)被重置為0,然后在下一個(gè)const出現(xiàn)之前每出現(xiàn)一個(gè)iota,其所代表的數(shù)字會(huì)自動(dòng)加1.

3)枚舉

1)int 和int32在Go語(yǔ)言中被認(rèn)為是兩種不同類(lèi)型的類(lèi)型

2)Go語(yǔ)言定義了兩個(gè)浮點(diǎn)型float32和float64,其中前者等價(jià)于C語(yǔ)言的float類(lèi)型,后者等價(jià)于C語(yǔ)言的double類(lèi)型

3)go語(yǔ)言支持復(fù)數(shù)類(lèi)型

復(fù)數(shù)實(shí)際上是由兩個(gè)實(shí)數(shù)(在計(jì)算機(jī)中使用浮點(diǎn)數(shù)表示)構(gòu)成,一個(gè)表示實(shí)部(real)、一個(gè)表示虛部(imag)。也就是數(shù)學(xué)上的那個(gè)復(fù)數(shù)

復(fù)數(shù)的表示

實(shí)部與虛部

對(duì)于一個(gè)復(fù)數(shù)z=complex(x,y),就可以通過(guò)Go語(yǔ)言?xún)?nèi)置函數(shù)real(z)獲得該復(fù)數(shù)的實(shí)部,也就是x,通過(guò)imag(z)獲得該復(fù)數(shù)的虛部,也就是y

4)數(shù)組(值類(lèi)型,長(zhǎng)度在定義后無(wú)法再次修改,每次傳遞都將產(chǎn)生一個(gè)副本。)

5)數(shù)組切片(slice)

數(shù)組切片(slice)彌補(bǔ)了數(shù)組的不足,其數(shù)據(jù)結(jié)構(gòu)可以抽象為以下三個(gè)變量:

6)Map 在go語(yǔ)言中Map不需要引入任何庫(kù),使用很方便

Go循環(huán)語(yǔ)句只支持for關(guān)鍵字,不支持while和do-while

goto語(yǔ)句的語(yǔ)義非常簡(jiǎn)單,就是跳轉(zhuǎn)到本函數(shù)內(nèi)的某個(gè)標(biāo)簽

今天就介紹到這里,以后我會(huì)在總結(jié)Go語(yǔ)言在其他方面比如并發(fā)編程、面向?qū)ο?、網(wǎng)絡(luò)編程等方面的不同及使用方法。希望對(duì)大家有所幫助。

go使用decimal

在公司項(xiàng)目中看到關(guān)于錢(qián)的數(shù)據(jù)在接口展示、添加修改的各種情況下結(jié)構(gòu)體中相應(yīng)字段用的都是string類(lèi)型。覺(jué)得不太合理,因此查閱了一些資料,整理如下。

在網(wǎng)上搜到一篇博客:

在程序計(jì)算中涉及到錢(qián)的時(shí)候,為什么要用Decimal而不是Float

博客中介紹,如果用float類(lèi)型再轉(zhuǎn)為decimal類(lèi)型時(shí)會(huì)造成精度丟失。轉(zhuǎn)為string后再轉(zhuǎn)為decimal則可以解決問(wèn)題,保證精度??粗孟袷呛芡昝赖幕卮鹆宋蚁胍私獾膯?wèn)題,但仔細(xì)一看用的語(yǔ)言是python,于是我便親自試了下:

結(jié)果確實(shí)如此,但看版本是2.7,我懷疑是不是python2.7版本落后,因此存在問(wèn)題,于是又換了python3,再次測(cè)試:

結(jié)論依然是一樣。好吧,證實(shí)了,對(duì)于python確實(shí)應(yīng)該先轉(zhuǎn)為string再轉(zhuǎn)為decimal。

但是,python是這樣,難道go也是這樣嗎,于是我又開(kāi)始了進(jìn)一步測(cè)試:

go中decimal使用第三方庫(kù)

這里是直接用float64轉(zhuǎn)為decimal,并沒(méi)有通過(guò)string中轉(zhuǎn),結(jié)果輸出如下:

乍一看,看著好像是精度丟失了似的,但是對(duì)比后我們發(fā)現(xiàn),float64和decimal前后都是一致的,也就是說(shuō)float64轉(zhuǎn)為decimal之后,保持了原樣。那些看起來(lái)小數(shù)點(diǎn)后位數(shù)很多的結(jié)果,是因?yàn)閒loat64浮點(diǎn)類(lèi)型計(jì)算產(chǎn)生的問(wèn)題,跟轉(zhuǎn)換并沒(méi)有關(guān)系。

為了驗(yàn)證這一結(jié)論,我又寫(xiě)了下面的測(cè)試:

不使用浮點(diǎn)類(lèi)型相加,而用decimal類(lèi)型相加,這樣輸出結(jié)果果然沒(méi)問(wèn)題了:

因此我們可以得出結(jié)論:對(duì)于go語(yǔ)言,在把float轉(zhuǎn)換為decimal類(lèi)型時(shí),并不需要像python一樣通過(guò)string中轉(zhuǎn),也依然可以保持精度。進(jìn)一步,我們也可以想到上面的問(wèn)題,對(duì)于錢(qián),在結(jié)構(gòu)體字段中,我們完全可以直接使用float類(lèi)型,并不需要用string類(lèi)型。而且好處時(shí),使用float數(shù)值類(lèi)型,無(wú)論對(duì)于前端還是后端,在進(jìn)行數(shù)值范圍驗(yàn)證的時(shí)候,會(huì)更方便,不必把string轉(zhuǎn)為float后再驗(yàn)證了。

上面提到了decimal包,我們這里簡(jiǎn)單看下,里面的常用的方法:

定義decimal的幾種方式:

decimal數(shù)值運(yùn)算

比較:

我們?cè)倏聪赂↑c(diǎn)精度運(yùn)算不準(zhǔn)確的原因,這篇文章講解的比較細(xì)

浮點(diǎn)精度(float、double)運(yùn)算不精確的原因

精度運(yùn)算不準(zhǔn)確這是為什么呢?我們接下來(lái)就需要從計(jì)算機(jī)所有數(shù)據(jù)的表現(xiàn)形式二進(jìn)制說(shuō)起了。如果大家很了解二進(jìn)制與十進(jìn)制的相互轉(zhuǎn)換,那么就能輕易的知道精度運(yùn)算不準(zhǔn)確的問(wèn)題原因是什么了。

接下來(lái)我們看一個(gè)簡(jiǎn)單的例子 2.1 這個(gè)十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制是什么樣子的。

落入無(wú)限循環(huán)結(jié)果為 10.0001100110011........ , 我們的計(jì)算機(jī)在存儲(chǔ)小數(shù)時(shí)肯定是有長(zhǎng)度限制的,所以會(huì)進(jìn)行截取部分小數(shù)進(jìn)行存儲(chǔ),從而導(dǎo)致計(jì)算機(jī)存儲(chǔ)的數(shù)值只能是個(gè)大概的值,而不是精確的值。從這里看出來(lái)我們的計(jì)算機(jī)根本就無(wú)法使用二進(jìn)制來(lái)精確的表示 2.1 這個(gè)十進(jìn)制數(shù)字的值,連表示都無(wú)法精確表示出來(lái),計(jì)算肯定是會(huì)出現(xiàn)問(wèn)題的。

1、為什么數(shù)值表示用decimal 不用double

2、在程序計(jì)算中涉及到錢(qián)的時(shí)候,為什么要用Decimal而不是Float

3、MySQL數(shù)據(jù)類(lèi)型DECIMAL用法

4、浮點(diǎn)精度(float、double)運(yùn)算不精確的原因

為什么 GOlang的float型后面要加32或64?

這樣子來(lái)講:float和int都是固定長(zhǎng)度的,4字節(jié)(32位機(jī)子)

int是精確的,超出范圍就溢出了。數(shù)據(jù)錯(cuò)誤了。

而float并不是單純的101010這樣存儲(chǔ),是把4個(gè)字節(jié)劃分為

符號(hào)位,指數(shù)位,尾數(shù)位 比如1.123123*10^35;

3個(gè)部分固定的,因?yàn)橛兄笖?shù),存儲(chǔ)的范圍當(dāng)然比int大了。

但是3個(gè)部分也有范圍限制,所以當(dāng)你精度值越大時(shí),月不精確了。

分享題目:go語(yǔ)言浮點(diǎn)型講解 go 浮點(diǎn)數(shù)
網(wǎng)站地址:http://aaarwkj.com/article6/hhhhig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作云服務(wù)器、網(wǎng)站排名、網(wǎng)站營(yíng)銷(xiāo)、App設(shè)計(jì)網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
婷婷亚洲悠悠色悠在线| 手机在线观看午夜小视频| 亚洲欧美精品专区久久| 日本熟人妻中文字幕在线| 国产九色av在线一区尤物| 亚洲七七久久精品中文国产| 国产又粗又长又大又长| 久久免费少妇高潮99精品| 成人午夜在线三级内射| 日韩欧美亚洲国产另类| 中文字幕日韩av综合在线| 日本一区二区日本一区| 91国产视频在线观看免费| 蜜臀av网站在线播放| 未满十八在线观看网址| 国产精品日产三级在线观看| 日韩在线国产精品视频| 日本精品a秘在线观看| 国产精品一区久久91| 日韩在线视频一区二区三| 九九热在线免费观看精品视频| 亚洲激情久热中文字幕| 国产精品午夜福利天堂| 日韩人妻一区中文字幕| 免费av中文字幕电影| 欧美福利在线观看视频| 久久久久久国产综合精品| 久久综合热这里只有精品| 91福利免费在线看| 欧美日韩激情中文字幕| 日本色电影一区二区三区| 熟女人妻丰满视频中文字幕| 国产一区二区日韩一区| 字幕日本欧美一区二区| 欧美午夜精品一二三区| 久久人妻精品一区二区三区| av中文字幕熟妇人妻少妇| 日本人妻久久中文字幕精品| 黄片视频免费在线观看播放| 杨幂一区二区在线观看| 91极品气质女神长腿翘臀|