golang基础之字符串与int、int64类型互相转换

 更新时间:2023年07月10日 10:13:27   作者:猎人在吃肉  
这篇文章主要给大家介绍了关于golang基础之字符串与int、int64类型互相转换的相关资料,在Go语言中string转int是一项常见的操作,需要的朋友可以参考下

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数字)

总结

到此这篇关于golang基础之字符串与int、int64类型互相转换的文章就介绍到这了,更多相关golang字符串与int互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文带你掌握Golang中的类型断言

    一文带你掌握Golang中的类型断言

    类型断言是 Golang 中的一个非常重要的特性,使用类型断言可以判断一个接口的实际类型是否是预期的类型,以便进行对应的处理,下面就跟随小编一起深入了解一下Golang中的类型断言吧
    2024-01-01
  • go语言beego框架web开发语法笔记示例

    go语言beego框架web开发语法笔记示例

    这篇文章主要为大家介绍了go语言beego框架web开发语法笔记示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Golang channel关闭后是否可以读取剩余的数据详解

    Golang channel关闭后是否可以读取剩余的数据详解

    这篇文章主要介绍了Golang channel关闭后是否可以读取剩余的数据,文章通过一个测试例子给大家详细的介绍了是否可以读取剩余的数据,需要的朋友可以参考下
    2023-09-09
  • Go语言中:= 运算符短变量声明的使用小结

    Go语言中:= 运算符短变量声明的使用小结

    本文全面解析Go语言特有的:=运算符,该运算符兼具变量声明和初始化功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • Go 实现一次性打包各个平台的可执行程序

    Go 实现一次性打包各个平台的可执行程序

    这篇文章主要介绍了Go 实现一次性打包各个平台的可执行程序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go语言大揭秘:适用于哪些类型的项目开发?

    Go语言大揭秘:适用于哪些类型的项目开发?

    想知道Go编程语言适合开发哪些类型的项目吗?无论是网络服务、分布式系统还是嵌入式设备,Go都能轻松应对,本文将带你了解Go在各种场景下的应用,让你更好地选择和使用Go进行开发,需要的朋友可以参考下
    2024-01-01
  • 详解Go语言中net/http包的使用

    详解Go语言中net/http包的使用

    Go语言内置的 net/http 包十分的优秀,提供了HTTP客户端和服务端的实现,本文主要就来和大家聊聊net/http包的使用,感兴趣的可以了解一下
    2023-07-07
  • 基于Go语言实现一个简易远程传屏工具

    基于Go语言实现一个简易远程传屏工具

    今天我要给大家介绍一个用Go语言写的远程传屏工具:这可不是什么高大上的商业软件,而是一个非常实用的小工具,让你的屏幕内容能够轻松飞到另一台电脑上,需要的朋友可以参考下
    2025-11-11
  • 举例讲解Go语言中函数的闭包使用

    举例讲解Go语言中函数的闭包使用

    这篇文章主要介绍了Go语言中函数的闭包使用示例,函数闭包closure是编程语言中十分重要的特性,需要的朋友可以参考下
    2016-03-03
  • Go日志管理库zap安装及使用过程

    Go日志管理库zap安装及使用过程

    Zap是Go语言中一个高性能的日志记录库,它支持日志切割、多级别日志记录等功能,zap还支持使用Lumberjack进行日志文件的自动切割和归档,适用于需要高效日志管理的Go项目开发,本文介绍Go日志管理库zap安装及使用过程,感兴趣的朋友一起看看吧
    2024-09-09

最新评论