首页 > 解决方案 > 如何将 byte 类型值转换为 int 类型值

问题描述

对于以下代码:

package main

import (
    "fmt"
    "reflect"
)

func main() {
    str := "0125"
    fmt.Println(reflect.TypeOf(str[0]))
    intVar := int(str[0])
    fmt.Println(intVar)
}

下面是输出:

uint8
48

类型转换就是将uint8类型值0( str[0]) 转换为 int类型值0

为什么uint8类型转换为int,采用 UTF 编码值0(即48)?

标签: gotype-conversion

解决方案


您可以使用以下方法

例如

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := []byte("0125")
    aByteToInt, _ := strconv.Atoi(string(str))
    fmt.Println(aByteToInt)
}

您可以在此处运行以下代码https://play.golang.org/p/iq8Q9PkhM43


推荐阅读