已采納回答 / 楓荇
您好!@求知書生?也可以用bigint,如果使用bigint就要在存入數(shù)據(jù)庫時轉換成貨幣對應的最小貨幣單位,并且要記錄不同貨幣的最小貨幣單位和標準單位之間的倍率,展示時再做計算。使用decimal就可以按照decimal精度來存儲,如果遇到超過精度的貨幣,精度就會出現(xiàn)問題。使用decimal和bigint都可以,做好設計規(guī)范即可
2019-04-30
講師回答 / 楓荇
@qq_慕雪2491004這個是寫的一個bug,哈哈,不過問題不大,缺少自動化測試代碼錄制課程時沒有發(fā)現(xiàn),下面是同學的bug解決方法,請移步參考:http://idcbgp.cn/qadetail/303903
2019-04-20
講師回答 / 楓荇
嗯,是的,課程中的main方法只是演示,并不是生成一個真實的紅包序列,但同樣的代碼我在mac下也不會出現(xiàn)生成同樣的數(shù)字的現(xiàn)象,這個問題還是需要找到原因的。你的代碼實際上是生成了一個真實的序列,是沒有問題的。
2019-04-15
講師回答 / 楓荇
@我們啲承諾?這個是寫的一個bug,哈哈,不過問題不大,缺少自動化測試代碼錄制課程時沒有發(fā)現(xiàn),下面是同學的bug解決方法,可以參考http://idcbgp.cn/qadetail/303903
2019-04-02
講師回答 / 楓荇
?您好!這個問題是因為無法訪問谷歌地址的原因,可以通過手動下載GitHub上的代碼來解決:cd /path/to/$GOPATH/src/golang.org/x/?git clone?https://github.com/golang/oauth2.git同樣的方法適用于golang.org/x/中所有的包,這些包都可以在https://github.com/golang倉庫中找到。
2019-03-27
已采納回答 / 楓荇
@?PumkinPie?sleep的方法不可取啊,rand.Seed是為了改變初始隨機種子數(shù),反正程序重新啟動時的隨機序列一樣的,只要保證每次重啟后的初始隨機種子數(shù)不一樣就行。
2019-03-17
講師回答 / 楓荇
@Q646448149?您好!這個案例中關鍵的邏輯是對數(shù)據(jù)版本字段的維護和使用數(shù)據(jù)版本字段進行CAS。第一個問題:通過在where條件中添加數(shù)據(jù)版本字段的驗證,來確定要更新的數(shù)據(jù)是最新的才能被修改;如果已經被修改,數(shù)據(jù)版本就會被更新,那么當前更新就要被更新失敗。第二個問題:這種方案不通用,但在很多場景中來代替鎖,簡單說就是避免使用鎖來優(yōu)化性能。
2019-03-03
講師回答 / 楓荇
@Q646448149?您好!悲觀鎖:簡單說就是先占了我要使用的所有資源,強制絕對串行化,不允許我開始執(zhí)行時,不管是否要真的執(zhí)行,涉及到的資源絕對的私有,絕對占有。用一個簡單的案例講,我要去停車,進停車場時,系統(tǒng)給我分配一個停車位A201,告訴讓所有停車的人,并且A201車位上安裝了車位鎖,只有我的車過去才能打開;那么也就是說,我入場是就占了這個車位,不管這個時候不管我是否真的要停,A201車位是我的其他人不能停。樂觀鎖:不管資源是否能用,我先去嘗試,如果資源已經被占了或者狀態(tài)變了,大不了失敗重來。用上面...
2019-03-03
講師回答 / 楓荇
可以參考官方文檔:https://golang.org/pkg/math/rand/#Seed 意思就是:seed方法用來提供一個初始化的種子值,從而來確定隨機源中默認的狀態(tài)值;如果不調用seed方法,那么默認的行為就是調用Seed(1),將1作為初始化的種子值;這樣rand每次使用的種子數(shù)都是1,所以每次重啟程序都會隨機生成的序列都是一樣的;不重啟時程序也不停止,一直獲取的隨機數(shù)是不一樣的;每次重新設置種子值,那么隨機序列就不一樣了。
2019-02-28