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. 使用canvas实现对图片的批量打码

    最近有个需求,利用h5的canvas对图片一些涉及个人隐私的地方进行打码再上传,而且最好能实现批量打码.意思是在一张图片上对哪些地方做了打码,后续的所有图片都在同样的地方也可以自动打上码,不用人工一张 ...

  2. 20191209 Linux就该这么学(4)

    4. Vim编辑器与Shell命令脚本 Vim 编辑器中设置了三种模式-命令模式.末行模式和编辑模式. 命令模式:控制光标移动,可对文本进行复制.粘贴.删除和查找等工作. 输入模式:正常的文本录入. ...

  3. python selenium中Excel数据维护(二)

    接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...

  4. PostgreSQL创建只读账户

    目前PostgreSQL并不能像MySQL一样直接对某个数据库赋予只读权限,现实中有研发需要新建一个用户然后赋予对某个数据库只读权限. 举例说明如何创建 用edbstore用户连接edbstore数据 ...

  5. shell下的 awk/sed/grep/seq/tr

    转自:实例手册 https://github.com/liquanzhou/ops_doc/blob/master/shell%E5%AE%9E%E4%BE%8B%E6%89%8B%E5%86%8C. ...

  6. 小记----采集之Xpath

    一.XPATH简介   Xpath是XML路径语言,它是一种确定XML文档中某部分位置的语言 二.XPATH语法  XPATH使用路径表达式在XML文档中选取节点.节点是通过沿着路径或者step来选取 ...

  7. 洛谷 P1182 数列分段 题解

    题面 给大家普及一个知识,只要看到最大值最小或最小值最大等字样就往二分上想吧! 然后是正解部分:   我们可以二分答案:   对于每次二分的区间取中间值mid,并对其进行check()判断:   如果 ...

  8. Luogu P4438 [HNOI/AHOI2018]道路

    题目 注意到\(n\)不大并且深度不大. 记\((u,ls_u)\)为\(L\)边,\((u,rs_u)\)为\(r\)边. 所以我们可以设\(f_{p,i,j}\)表示从根到\(p\)有\(i\)条 ...

  9. laravel框架之及時更改

    public function ajaxxiu(request $request) { $id = $request->post('id'); $fd = $request->post(' ...

  10. scrapy之360图片爬取

    #今日目标 **scrapy之360图片爬取** 今天要爬取的是360美女图片,首先分析页面得知网页是动态加载,故需要先找到网页链接规律, 然后调用ImagesPipeline类实现图片爬取 *代码实 ...