int与string类型之间相互转换可以借助strconv包里自带的函数实现。

string转换成int

函数原型:

// base指定进制(2到36),如果base为0,则会从字符串前置判断,
// "0x"是16进制,"0"是8进制,否则是10进制;
// bitSize指定结果必须能无溢出赋值的整数类型,
// 0、8、16、32、64 分别代表 int、int8、int16、int32、int64。
func ParseInt(s string, base int, bitSize int) (i int64, err error) // Atoi是ParseInt(s, 10, 0)的简写
func Atoi(s string) (i int, err error)

代码示例:

package main

import (
"fmt"
"strconv"
) func main() {
// 字符串数字 "256" 转换成 256
numStr1 := "256" numberInt1, error := strconv.ParseInt(numStr1, 10, 8)
if error == nil {
fmt.Printf("numberInt1的类型为:%T\n", numberInt1)
fmt.Println("转换成功:numberInt1 = ", numberInt1)
} else {
fmt.Println("转换错误:", error)
} numStr2 := "256" numberInt2, error := strconv.Atoi(numStr2)
if error == nil {
fmt.Printf("numberInt2的类型为:%T\n", numberInt2)
fmt.Println("转换成功:numberInt2 = ", numberInt2)
} else {
fmt.Println("转换错误:", error)
} numStr3 := "9876543210" numberInt3, error := strconv.ParseInt(numStr3, 10, 64)
if error == nil {
fmt.Printf("numberInt3的类型为:%T\n", numberInt3)
fmt.Println("转换成功:numberInt3 = ", numberInt3)
} else {
fmt.Println("转换错误:", error)
}
}

代码输出:

转换错误: strconv.ParseInt: parsing "256": value out of range
numberInt2的类型为:int
转换成功:numberInt2 = 256
numberInt2的类型为:int64
转换成功:numberInt2 = 9876543210

int转换成string

函数原型:

// 表示返回i的base进制的字符串。base 必须在2到36之间,
// 结果中会使用小写字母'a'到'z'表示大于10的数字
func FormatInt(i int64, base int) string // Itoa是FormatInt(i, 10) 的简写
func Itoa(i int) string // Sprintf根据format参数生成格式化的字符串并返回该字符串
func Sprintf(format string, a ...interface{}) string

代码示例:

package main

import (
"fmt"
"strconv"
) func main() {
// 数字 65 转换成字符串 "65"
num1 := 65 string1 := strconv.Itoa(num1)
fmt.Printf("string1的类型为:%T\n", string1)
fmt.Println(string1) // 数字 256 转换成字符串 "256"
var num2 int64
num2 = 256 string2 := strconv.FormatInt(num2,10)
fmt.Printf("string2的类型为:%T\n", string2)
fmt.Printf("%s\n", string2) // 数字 123456 转换成字符串 "123456"
num3 := 123456 string3 := fmt.Sprintf("%d", num3)
fmt.Printf("string3的类型为:%T\n", string3)
fmt.Println(string3) // 如果不用这种的,可能转出来的不是你想象中的那样
num4 := 97 string4 := string(num4)
fmt.Printf("string4的类型为:%T\n", string4)
// number_str = P, 对应到了相应的ascci码上了
fmt.Println(string4)
}

代码输出:

string1的类型为:string
65
string2的类型为:string
256
string3的类型为:string
123456
string4的类型为:string
a

个人主页:

www.codeapes.cn

最新文章

  1. 程序员装B指南
  2. 在Excel中把横行与竖列进行置换、打勾号
  3. VB.net 2010 AndAlso,OrElse和And,Or的区别
  4. 1117 冲刺一(Day 1)
  5. Eclipse中Ctrl+方法名发现无法进入到该方法中……
  6. Spring 一二事(1)
  7. wap资费页面
  8. .NET连接SAP系统专题:C#调用RFC代码(三)
  9. phpMyAdmin 'import.php'跨站脚本漏洞
  10. 知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET
  11. codevs 1994 排队 排列组合+高精度
  12. paip.gch预编译头不生效的原因以及解决:
  13. SDOI(队列)
  14. spring xsd
  15. UWP 绘制图形
  16. Python正则表达式返回首次匹配到的字符及查询的健壮性
  17. C语言多维数组的指针传递
  18. ubuntu18.04修改ssh登录欢迎信息
  19. zabbix疑难之时区问题
  20. nfs的时间问题,影响编译

热门文章

  1. Unity 相机
  2. RSA/RSA2 进行签名和验签
  3. [DS+Algo] 011 哈希
  4. 项目中使用vue的API。 和项目的结构
  5. 来自 Vue 3.0 的 Composition API 尝鲜
  6. Redis 3主-3从集群的搭建(CentOS 7)
  7. T2 AC自动机
  8. numpy中线性代数用法
  9. Flask-wtf导入Regexp规则库验证手机号码合法性(测试通过)
  10. 模板 - Prim