Golang:解析有符号整数

4
我有一些需要能够将包含64位值的字符串解析为int64的代码。例如,ff11223344556677是有效的,但下游系统希望它是一个int64strconv.ParseInt("ff11223344556677", 16, 64)会产生范围错误 - 它只喜欢解析正整数。即使该值为负,仍有办法将其放入int64中吗?
1个回答

5
例如,
package main

import (
    "fmt"
    "strconv"
)

func main() {
    u, err := strconv.ParseUint("ff11223344556677", 16, 64)
    fmt.Printf("%x %v\n", u, err)
    i := int64(u)
    fmt.Println(i)
}

输出:

ff11223344556677 <nil>
-67234915848722825

哦,太好了!不知道这么简单。谢谢! - Chris Adams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接