Golang:解析一个签名的int

时间:2016-03-07 18:35:16

标签: go

我有一些代码需要能够将包含64位值的字符串解析为int64。例如,ff11223344556677有效,但下游系统需要int64

strconv.ParseInt("ff11223344556677", 16, 64)给出范围错误 - 它只想解析正整数。有没有办法将这个值放入int64,即使它会是负面的?

1 个答案:

答案 0 :(得分:4)

例如,

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