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. 启动elasticsearch-head显示集群健康值:未连接

    ES启动后,进行es header访问的话,使用localhost:9100会显示集群健康值未连接 2种情况(均为windows10环境下): 1:未在elasticsearch-6.8.0\conf ...

  2. python学习之网络基础

    七 网络编程 7.1 C/S B/S架构 7.1.1 认识 Client : 客户端 Browser :浏览器 Server :服务器端 C/S:客户端与服务器之间的构架 B/S:浏览器与服务器之间的 ...

  3. elasticsearch 冷热数据的读写分离

    步骤 一.冷热分离集群配置 比如三个机器共六个node的es集群. 每个机器上各挂载一个ssd 和 一个sata.每个机器需要启动两个es进程.每个进程对应不同类型的磁盘. 关键配置: node.ma ...

  4. 常用DOS命令及编程软件fa

    1.常用的dos命令(应用) 在接触集成开发环境之前,我们需要使用命令行窗口对Java程序进行编译和运行,所以需要知道dos命令. 打开命令行窗口的方式:win + r打开运行窗口对java程序进行编 ...

  5. 史上最详细 Linux 用户与用户组知识

    1.用户和用户组文件 在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的. 在 linux 系统中,所创建的用户帐号和其相关信息 (密码除外) 均是存放在 / ...

  6. 浅谈Javascript数据属性与访问器属性

    ES5中对象的属性可以分为‘数据属性’和‘访问器属性’两种. 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值. 数据属性特性:value.writable.en ...

  7. POJ 2492 A Bug's Life 题解

    题面 这道题是一道标准的种类并查集: 种类并查集是给每个结点一个权值.然后在合并和查找的时候根据情况对权值来进行维护. 通过将原有的区间范围变大使并查集可以维护种类的联系: #include < ...

  8. Anaconda折腾记(1)

    Anaconda折腾记 谨此记录小白的我在Anaconda里面的摸爬滚打 更换更新源 可以不使用命令,直接进入C盘,进入user文件夹,进入当前的用户文件夹下,记得显示隐藏文件. 找到.condarc ...

  9. Django 前端通过json 取出后端数据

    Django 前端通过json 取出后端数据 前端通过json 取出后端数据 步骤1:后台数据通过 JSON 序列化成字符串a 注意:1.json是1个字符串 ​ 2.通过json.dumps('xx ...

  10. 最近用到的postgresql 的一些操作

    通过Linux命令行连接:在本机上连接操作 第一步:su - postgres进入到这个:-bash-4.2$ 第二步:psql进入到数据库 切换数据库: 命令:\c dbname 进入到数据库中 查 ...