go - 如何将 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
)?
解决方案
您可以使用以下方法
例如
package main
import (
"fmt"
"strconv"
)
func main() {
str := []byte("0125")
aByteToInt, _ := strconv.Atoi(string(str))
fmt.Println(aByteToInt)
}
您可以在此处运行以下代码https://play.golang.org/p/iq8Q9PkhM43
推荐阅读
- typescript - Type Guard Typescript 未正确推断函数剩余参数
- python - 如何限制 jsonschema 中未声明的添加字段
- reactjs - 反应路由器dom的问题
- html - 如何使用管道过滤到 Ionic 中的两个列表
- asp.net-core - ASP.NET Core,AddScoped 不保留具有相同请求的数据
- android - 如何从选项卡式活动中片段的 Textview/Button 开始新活动
- apache-camel - 如何在仅限 Java 的 Camel Main 中配置 REST 属性?
- c# - 等待加载程序的硒消失了
- sas - 在 iml 过程中为矩阵赋值时出错
- javascript - 出现在 textarea 元素中但不在字符串中