亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何保留 big.Int.Bytes() len?

如何保留 big.Int.Bytes() len?

Go
慕無忌1623718 2022-11-28 17:06:10
鑒于:arr := make([]byte, 8)fmt.Println(arr) // [0 0 0 0 0 0 0 0]big := new(big.Int).SetBytes(arr).Bytes()fmt.Println(big) // []我試著把數字 1 放進去,得到了這樣的結果:... // [0 0 0 0 0 0 0 1] from []byte...// [1] from big.Int我必須保留 8 的長度,但big.Int不允許這樣做。怎樣才能把它保存下來呢?
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

Int類型在內部不保留構造它的字節,并Bytes返回表示該值所需的最小字節數。

為了將它變成一個固定長度的字節片,使用FillBytes方法。您需要確保該值適合提供的字節片,否則會出現 panic。

例子:

package main


import (

    "fmt"

    "math/big"

)


func main() {

    xarr := []byte{1, 2, 3}

    fmt.Println(xarr)


    x := new(big.Int).SetBytes(xarr)

    fmt.Println(x)


    y := big.NewInt(0)

    y.Add(x, big.NewInt(2560))

    fmt.Println(y)


    yarr := make([]byte, 8)

    y.FillBytes(yarr)

    fmt.Println(yarr)

}

輸出:


[1 2 3]

66051

68611

[0 0 0 0 0 1 12 3]


查看完整回答
反對 回復 2022-11-28
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號