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

GO语言学习笔记4-int与string类型转换的更多相关文章

  1. GO语言学习笔记(一)

    GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...

  2. Go语言学习笔记十: 结构体

    Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...

  3. Go语言学习笔记七: 函数

    Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...

  4. Go语言学习笔记三: 常量

    Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = &qu ...

  5. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  6. Go语言学习笔记(1)——顺序编程

    Go语言学习笔记这一堆主要是<Go语言编程>(人民邮电出版社)的读书笔记.中间会穿插一些零碎的点,比如源码学习之类的.大概就是这样吧. 1. 顺序编程 1.1 变量 变量的声明: var ...

  7. 2017-04-21周C语言学习笔记

    C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...

  8. 2017-05-4-C语言学习笔记

    C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...

  9. Go语言学习笔记十三: Map集合

    Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...

  10. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

随机推荐

  1. mapreduce的shufflue过程

    一.Map阶段: a. 文件切片之后,每一个切片对应一个MapTask b. 在MapTask中,默认按行读取,每读取一行,就调用一次map方法 c. map方法在执行的时候会将结果(这个结果中已经包 ...

  2. SQL注入(bool型)

    sqli-labs 靶场https://blog.csdn.net/qq_41420747/article/details/81836327 教程+靶场 1. https://blog.csdn.ne ...

  3. 【VS开发】使用MFC创建并调用ActiveX控件

    使用MFC创建并调用ActiveX控件 今天做了一下ActiveX的使用测试,总结一下: 首先使用MFC创建一个activeX的控件譬如ActiveXTest,编译成ocx并注册,然后另外编写一个测试 ...

  4. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法

    按Ctrl+H进入到WebBIOS内,看见的错误如下所示: 错误是PDMissing,只不过维护的IBM服务器错误的磁盘不是第一块,而是第三块而已,不过坏哪块硬盘没有影响,重要的是错误的原因.这种错误 ...

  5. C++中利用迭代器删除元素会发生什么?

    转自:https://blog.csdn.net/yf_li123/article/details/75003425#comments   (1)对于关联容器(如map,set,multimap,mu ...

  6. Spring Cloud 使用Feign调用服务传递Header中的参数

    1.使用Feign 调用其他微服务,尤其是在多级调用的同时,需要将一些共同的参数传递至下一个服务,如:token.比较方便的做法是放在请求头中,在Feign调用的同时自动将参数放到restTempla ...

  7. [转帖]Windows与Linux的命令行命令对比

    Windows与Linux的命令行命令对比 https://www.cnblogs.com/sztom/p/10785140.html * Windows不区分大小写,Linux区分大小写的. sn ...

  8. 小记---------关于linux 定时任务crontab

    linux的crontab定时任务    启动服务: service crond start    关闭服务:  service crond stop    重启服务:  service crond ...

  9. mysql元数据以及一些常用命令

    所谓mysql元数据就是一些初始的东西,例如数据库的列表,数据表列表,查询影响的行数等等,还有就是mysql的服务器的一些信息,例如版本信息等. select version(): 获取mysql服务 ...

  10. init, telinit - 进程处理初始化

    总览 /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ] /sbin/telinit [ -t 秒 ] [ 0123456sSQqabcU ...