关于golang 字符串 int uint int64 uint64 互转问题
作者:全年无休的IT老兵 发布时间:2023-07-13 17:52:44
标签:golang,字符串,int,uint,int64,uint64,互转
golang 字符串 int uint int64 uint64 互转
字符串 转 int
intNum, _ = strconv.Atoi(intStr)
字符串 转 int64
intNum, _ := strconv.Atoi(intStr)
int64Num = int64(intNum)
字符串 转 uint64
intNum, _ := strconv.Atoi(intStr)
int64Num = uint64(intNum)
int 转 字符串
intStr = strconv.Itoa(intNum)
int64 转 字符串
int64Str = strconv.FormatInt(intNum, 10)
uint64 转 字符串
int64Str = strconv.FormatUint(intNum, 10)
PS:golang 基础 —— 字符串 与 int 、int64 互转
1、代码
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
var testStr string = "123456"
// 字符串 转 int
intNum, _ := strconv.Atoi(testStr)
fmt.Println("intNum =", intNum, ", intNum 类型是", reflect.TypeOf(intNum))
// 字符串 转 int64
int64Num, _ := strconv.ParseInt(testStr, 10, 64)
fmt.Println("int64Num=", int64Num, ", int64Num 类型是", reflect.TypeOf(int64Num))
// ===================================================
// int 转 字符串
var intNum2 int = 123456
var str1 string = strconv.Itoa(intNum2)
fmt.Println("str1 =", str1, ", str1 类型是", reflect.TypeOf(str1))
// int64 转 字符串
var int64Num2 int64 = 123456
var str2 string = strconv.FormatInt(int64Num2, 10)
fmt.Println("str2 =", str2, ", str2 类型是", reflect.TypeOf(str2))
fmt.Println("----------------- 类型转换 ---------------------")
var num3 int = 30
var num4 int64
num4 = int64(num3)
fmt.Printf("num3 的类型是 %T ,num3= %v \n", num3, num3)
fmt.Printf("num4 的类型是 %T ,num4= %v \n", num4, num4)
var num5 int64 = 20
var num6 int
num6 = int(num5)
fmt.Printf("num5 的类型是 %T ,num5= %v \n", num5, num5)
fmt.Printf("num6 的类型是 %T ,num6= %v \n", num6, num6)
}
运行结果:
intNum = 123456 , intNum 类型是 int
int64Num= 123456 , int64Num 类型是 int64
str1 = 123456 , str1 类型是 string
str2 = 123456 , str2 类型是 string
----------------- 类型转换 ---------------------
num3 的类型是 int ,num3= 30
num4 的类型是 int64 ,num4= 30
num5 的类型是 int64 ,num5= 20
num6 的类型是 int ,num6= 20
2、总结
2.1、字符串 与 int 互转
// 字符串 转 int
intNum, _ := strconv.Atoi(testStr)
// int 转 字符串
var str1 string = strconv.Itoa(intNum2)
2.2、字符串 与 int64 互转
// 字符串 转 int64
// 参数1:数字类型的字符串
// 参数2:数字字符串的进制, 比如 2进制、8进制、10进制、16进制
// 参数3:bitSize,意思是string转int64时的数值范围的限制,如int8 int16 int32 int64 不同数字类型取值范围是不一样的
int64Num, _ := strconv.ParseInt(testStr, 10, 64)
// int64 转 字符串
// 参数1:int64类型的数字,如果是int、int8 int16 int32,则要使用int64(数字)转换
// 参数2:表示int64数字要转换什么进制的字符串 , 比如 2进制、8进制、10进制、16进制。取值必须在2到36之间。
var str2 string = strconv.FormatInt(int64Num2, 10)
示例:
字符串 e
属于16进制,是10进制中的14 。
var testStr3 string = "e"
int64Num, _ := strconv.ParseInt(testStr3, 16, 8)
fmt.Println("int64Num=", int64Num, ", int64Num 类型是", reflect.TypeOf(int64Num))
运行结果:
int64Num= 14 , int64Num 类型是 int64
2.3、int 与 int64 互转最简单
var intNum int = int(int64位数字)
var int64Num int64 = int64(int数字)
来源:https://blog.csdn.net/minibrid/article/details/100066675


猜你喜欢
- 什么是Lambda表达式“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得
- $attrs和inheritAttrs用法$attrs属性解释:包含了父作用域中不作为组件 props 或自定义事件的 attribute
- 下载驱动器http://chromedriver.storage.googleapis.com/index.html下载与谷歌版本相同或最近
- 1、纯粹的截取字符串function cutstr(thestr1,strlen) dim l,t,c&nbs
- 有的时候,一个 if … else … 还不够用。比如,根据年龄的划分:条件1:18岁或以上:adult条件2:6岁或以上:teenager
- 本脚本为本人在性能测试过程中编写,用于对进程状态的监控,也可以用于日常的监控,适用性一般,扩展性还行# -*- coding: UTF-8
- WinForm 中添加 openFileDialog Button, WinForm .cs 中添加本地.mdf,如下:using Syst
- 1、fastcgi ,通过flup模块来支持,在nginx里对应的配置指令是 fastcgi_pass2、http,nginx使用proxy
- 导言很多Web程序都支持用户帐号,根据不同的登录用户提供不同的选项,报表等功能。例如,就我们的教程中,我们要允许供应商公司的一些账户能登录网
- 对于在外的游子,每逢佳节倍思亲。而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了。这几天各公司都陆续
- 使用Python读取解析xmind文件,一键统计测试用例数量。问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是
- 本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:这里使用php通过查询whois信息的网站列表进行查询func
- python使用super()出现错误解决办法当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便
- 最近用到了docx生成word文档,docx本身用起来很方便,自带的各种样式都很好看,美中不足的就是对中文的支持不够好。在未设置中文字体的时
- 本文实例讲述了Python实现读取机器硬件信息的方法。分享给大家供大家参考,具体如下:本人最近新学python ,用到关于机器的相关信息,经
- set oSQLServer =server.createobject("SQLDMO.SQLServer"
- 需求是在某一指定的时刻执行操作网上的建议多为通过调用Scheduler的add_date_job实现不过APScheduler 3.0.1与
- 目录1、every2、some3、none1、everydef every(lst, fn=lambda x: x): retu
- 用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图:而这个功能在Python标准库的List中是不支持的,在List
- 背景:用python画AR模型的时序图。结果:代码:import numpy as npimport matplotlib.pyplot a