golang指數(shù)運算操作
我就廢話不多說了,大家還是直接看代碼吧~
func main() { fmt.Println(exponent (5,3)) } //a的n次方 //超出uint64的部分會丟失 func exponent (a,n uint64) uint64 { result := uint64(1) for i := n ; i > 0; i >>= 1 { if i&1 != 0 { result *= a } a *= a } return result }
補充:Golang 位運算之 &^
看Golang源代碼,突然看到一個 a &^ b的位操作,有點懵,在通過不斷的寫測試驗證,終于弄清楚了是怎么回事,在這里記錄一下,避免忘記。
在弄清楚a &^ b是怎么回事之前,我們先看一個我們熟悉的 a += b:
a += b ==> a = a + b
其實&^也是一樣:
a &^ b ==> a ^ (a & b)
只是把 = 換成了 ^ 。
還有更復雜一點的,但萬變不離其宗,如 a &^= b:
a &^= b,分兩步分解:
==> a = a &^ b
==> a = a ^ (a & b)
在Golang里面對于這種表達式都可以套用+=這種我們熟悉的,復雜一點的就按步驟分解。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
golang 輸出重定向:fmt Log,子進程Log,第三方庫logrus的詳解
這篇文章主要介紹了golang 輸出重定向:fmt Log,子進程Log,第三方庫logrus的詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12go語言實現(xiàn)Elasticsearches批量修改查詢及發(fā)送MQ操作示例
這篇文章主要為大家介紹了go語言實現(xiàn)Elasticsearches批量修改查詢及發(fā)送MQ操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04golang實現(xiàn)簡易的分布式系統(tǒng)方法
這篇文章主要介紹了golang實現(xiàn)簡易的分布式系統(tǒng)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10