您好,Go語言可以實(shí)現(xiàn)PSD,吵頃它是一種靜態(tài)類型的編程語言,可以用來開發(fā)各種應(yīng)用程序。Go語言擁有簡單的語法,可以讓開發(fā)者快速地實(shí)現(xiàn)PSD。Go語言支持多種編程范式,可以用來實(shí)現(xiàn)面向?qū)ο蟆⒑瘮?shù)式編程和過程式升汪陸編程等。Go語言擁有強(qiáng)大的標(biāo)準(zhǔn)庫,可以提供開發(fā)者豐富的功能,例如網(wǎng)絡(luò)通信、文件系統(tǒng)操作、數(shù)據(jù)結(jié)構(gòu)操作等。Go語言還支持多種編程框架,可以用來實(shí)現(xiàn)PSD。Go語言還支持多種編程工具,可以幫助開發(fā)陵滾者更快地實(shí)現(xiàn)PSD。總之,Go語言是一種強(qiáng)大的編程語言,可以幫助開發(fā)者快速實(shí)現(xiàn)PSD。

十載的沈丘網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整沈丘建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“沈丘網(wǎng)站設(shè)計(jì)”,“沈丘網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Golang提供了一些GPU編程庫,例如CUDA、OpenCL和OpenACC等等。這些庫允許您使用Golang編寫并發(fā)的GPU應(yīng)用程序。衫舉下面是使用Golang調(diào)用GPU的步驟:
1. 確保您已經(jīng)安裝了CUDA、OpenCL或OpenACC。
2. 使用Golang編寫相應(yīng)的GPU程序,例如使用CUDA編寫的程序可衫塌耐以使用GoCudnn庫。這個(gè)庫提供了一系列用于GPU深度學(xué)習(xí)的函數(shù),并且可以在Golang中輕松調(diào)用CUDA加速的算法。另外,還有Gorgonia庫,該庫使用了CUDA,OpenCL和TensorFlow等庫,使得Golang具有快速計(jì)算張量的能力。
3. 編寫能夠與GPU通信的代碼,例如在CUDA中,你需要將Golang數(shù)據(jù)轉(zhuǎn)換為相應(yīng)或春的CUDA數(shù)據(jù)類型。
4. 將代碼編譯為可執(zhí)行文件。
5. 運(yùn)行程序并使用GPU執(zhí)行計(jì)算操作。
請注意,GPU編程需要一定的專業(yè)知識。如果您沒有GPU編程經(jīng)驗(yàn),可以參考一些在線學(xué)習(xí)資源來了解相關(guān)的技術(shù)。
在公司項(xiàng)目中看到關(guān)于錢的數(shù)據(jù)在接口展示、添加修改的各種情況下結(jié)構(gòu)體中相應(yīng)字段用的都是string類型。覺得不太合理,因此查閱了一些資料,整理如下。
在網(wǎng)上搜到一篇博客:
在程序計(jì)算中涉及到錢的時(shí)候,為什么要用Decimal而不是Float
博客中介紹,如果用float類型再轉(zhuǎn)為decimal類型時(shí)會造成精度丟失。轉(zhuǎn)為string后再轉(zhuǎn)為decimal則可以解決問題,保證精度。看著好像是很完美的回答了我想要了解的問題,但仔細(xì)一看用的語言是python,于是我便親自試了下:
結(jié)果確實(shí)如此,但看版本是2.7,畢森我懷疑是手基畝不是python2.7版本落后,因此存在問題,于是又換了python3,再次測試:
結(jié)論依然是一樣。好吧,證實(shí)了,對于python確實(shí)應(yīng)該先轉(zhuǎn)為string再轉(zhuǎn)為decimal。
但是,python是這樣,難道go也是這樣嗎,于是我又開始了進(jìn)一步測試:
go中decimal使用第三方庫
這里是直接用float64轉(zhuǎn)為decimal,并沒有通過string中轉(zhuǎn),結(jié)果輸出如下:
乍一看,看著好像是精度丟失了似的,但是對比后我們發(fā)現(xiàn),float64和decimal前后都是一致的,也就是說float64轉(zhuǎn)為decimal之后,保持了原樣。那些看起來小數(shù)點(diǎn)后位數(shù)很多的結(jié)果,是因?yàn)閒loat64浮點(diǎn)類型計(jì)算產(chǎn)生的問題,跟轉(zhuǎn)換并沒有關(guān)系。
為了驗(yàn)證這一結(jié)論,我又寫了下面的測試:
不使用浮點(diǎn)類型相加,而用decimal類型相加,這樣輸出結(jié)果果然沒問題了:
因此我們可以得出結(jié)論:對于go語言,在把float轉(zhuǎn)換為decimal類型時(shí),并不需要像python一樣通過string中轉(zhuǎn),也依然可以保持精度。進(jìn)一步,我們也可以想到上面的問題,對于錢,在結(jié)構(gòu)體字段中,我們完全可以直接使用float類型,并不需要用string類型。而且好處時(shí),使用float數(shù)值類型,無論對于前端還是后端,在進(jìn)行數(shù)值范圍驗(yàn)證的時(shí)候,會更方便,不必把string轉(zhuǎn)為float后再驗(yàn)證了。
上面提到了decimal包,我們這里簡單看下,里面的常用的方法:
定義decimal的幾種方式:
decimal數(shù)值運(yùn)算
比較:
我們再看下浮點(diǎn)精度運(yùn)算不準(zhǔn)確的原因,這篇文章講解的比較細(xì)
浮點(diǎn)精度(float、double)運(yùn)算不精確的原因
精度運(yùn)算不準(zhǔn)確這是為什么呢?我們接下來就需要從計(jì)算機(jī)所有數(shù)據(jù)的表現(xiàn)形式二進(jìn)制說起了。如果大家很了解二進(jìn)制與十進(jìn)制的相互轉(zhuǎn)換,那么就能輕易的知道精度運(yùn)算不準(zhǔn)確的問題原因是什么了。
接下來我們看一個(gè)簡單的例子 2.1 這個(gè)十進(jìn)制數(shù)轉(zhuǎn)成二進(jìn)制是什么樣子的。
落入無限循環(huán)結(jié)果為 10.0001100110011........ , 我們的計(jì)算機(jī)在存儲小數(shù)時(shí)肯定是有長度限制的,所以會進(jìn)行截取部分小數(shù)進(jìn)行存儲,從而導(dǎo)致計(jì)算機(jī)存儲的數(shù)值只能是個(gè)大概的值,而不是精確的值。從這里看出來我們的計(jì)算機(jī)根本就無法使用二進(jìn)制來精確的表示 2.1 這個(gè)十進(jìn)制數(shù)字的值,連表示都無法精鋒橘確表示出來,計(jì)算肯定是會出現(xiàn)問題的。
1、為什么數(shù)值表示用decimal 不用double
2、在程序計(jì)算中涉及到錢的時(shí)候,為什么要用Decimal而不是Float
3、MySQL數(shù)據(jù)類型DECIMAL用法
4、浮點(diǎn)精度(float、double)運(yùn)算不精確的原因
分享文章:go語言引用第三方庫 golang引入第三方包
文章分享:http://www.chinadenli.net/article10/ddpecgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、微信小程序、動態(tài)網(wǎng)站、搜索引擎優(yōu)化、、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)