关于golang 字符串 int uint int64 uint64 互转问题

作者:全年无休的IT老兵 时间:2023-07-13 17:52:44 

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

标签:golang,字符串,int,uint,int64,uint64,互转
0
投稿

猜你喜欢

  • Python函数式编程

    2023-12-29 10:58:46
  • php遍历CSV类实例

    2023-11-01 23:46:26
  • asp如何创建一个Exchange用户?

    2009-11-14 20:52:00
  • Gradio机器学习模型快速部署工具quickstart

    2023-06-30 01:09:52
  • 小型分页的设计

    2011-08-18 18:32:26
  • python轻松办公将100个Excel中符合条件的数据汇总到1个Excel里

    2021-08-12 03:17:11
  • Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作

    2021-11-13 16:52:41
  • 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

    2011-12-01 07:53:11
  • Python Pandas读写txt和csv文件的方法详解

    2022-08-05 17:06:31
  • SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)

    2024-01-19 23:44:22
  • 详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决

    2021-08-28 15:42:10
  • Web UI 设计(网页设计)命名规范

    2009-05-13 13:06:00
  • Go1.18新特性之泛型使用三步曲(小结)

    2024-05-03 15:05:52
  • SQL语法CONSTRAINT约束操作详情

    2024-01-23 16:24:20
  • JavaScript实现鼠标经过表格某行时此行变色

    2024-04-16 08:51:18
  • 奇淫技巧和西天取经

    2009-08-24 12:34:00
  • 详解uniapp页面跳转URL传参大坑

    2023-09-15 09:52:43
  • JavaScript常用8种数组去重代码实例

    2024-04-18 10:58:09
  • 很有意思的SQL多行数据拼接

    2011-11-03 17:08:29
  • Python Print实现在输出中插入变量的例子

    2022-06-07 11:12:09
  • asp之家 网络编程 m.aspxhome.com