golang|golang math/big 和 string bytes相互转化
显式初始化
num := big.NewInt(math.MaxInt64)
math.MaxInt64是最大的整数
num := big.NewInt(1999)
fmt.Printf("Big int: %v\n", num)
【golang|golang math/big 和 string bytes相互转化】??显式初始化最大只能是math.MaxInt64,如果还想大,就得需要byte或者string
byte array -> big.Int
import "math/big"z := new(big.Int)
z.SetBytes(byteSliceHere)orfunc Base64ToInt(s string) (*big.Int, error) {
data, err := base64.StdEncoding.DecodeString(s)
if err != nil {
return nil, err
}
i := new(big.Int)
i.SetBytes(data)
return i, nil
}
string -> big.Int
package mainimport (
"fmt"
"math/big"
)func main() {
n := new(big.Int)
n, ok := n.SetString("1234567890987", 10)
if !ok {
fmt.Println("SetString: error")
return
}
fmt.Println(n)
}
big.Int > string
bigint := big.NewInt(123)
bigstr := bigint.String()
推荐阅读
- 三门问题(蒙提霍尔悖论)分析与Golang模拟
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- golang锁竞争性能
- OpenCV|OpenCV for Unity 通过WebCamTextureToMatHelper帮助类来获取摄像头的画面
- 基于rabbitmq实现的延时队列(golang版)
- BigData-hive-基础
- 【golang】leetcode中级-字母异位词分组&无重复字符的最长子串
- 【golang】leetcode初级-有效的括号&缺失数字
- 使用Go|使用Go Module构建项目
- golang声明一个map数组