string 转基本数据类型|学习笔记

简介: 快速学习 string 转基本数据类型

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:string 转基本数据类型】与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/625/detail/9533


string 转基本数据类型

内容介绍:

一、使用 strconv 包的函数

二、基本数据类型转 string 类型

三、strconv 包的函数案例演示

一、使用 strconv 包的函数

1.使用场景

当开发中遇到 string 数据类型转化为基本数据类型的场景时,将会出现使用strconv包函数的情况。

其中,部分编程语言是较为简单的,直接用‘加’或简答操作便能进行转化。但在go语言情况下的转换都将使用到函数。

(具体函数的介绍部分将会在后续进行讲解)

2.函数列举

以下函数在手册中查找

(1)func ParseBool(str string) (value bool, err error)

(2)func ParseFloat(s string, bitSize int)(f float64, err error)

(3)func ParseInt(s string, base int, bitSize int) (i int64, err error)

(4)func ParseUint(s string, b int, bitSize int) (n uint64, err error)

二、基本数据类型转 string 类型

1.函数介绍

Func itoa(I int) string 此函数可以直接将 int 转成字符串

Strconv 包中含有函数 Itoa

2.实例

1.假如int=4567

Var num5 int = 4567

Str = strconv.Itoa(num5)

//以上过程中仅实现了 num5内含值向 string 的转化,但 num5本身仍为 int

Fmt.Printf(“str type %T str=%q\n”,str,str)

输出结果:str type string str=”4567”

2.假如int=64

Var num5 int64 = 4567

Str = strconv.Itoa(int(num5))

Fmt.Printf(“str type %T str=%q\n”,str,str)

//由于64无法传输给int,则此时系统有概率进行报错。为解决其问题,进行转换操作:将 Itoa(num5)更改为 Itoa(int(num5))

三、strconv包的函数案例演示

1.string转成基本数据类型

//演示 golang 中 string 转成基本数据类型

func main() {

var str string = "true"

//将 true 值转为 bool 值

var b bool

//引入函数PassBool

b,_= strconv. ParseBool(str)

//strconv.ParseBool(str)函数会返回两个值(value boolerr error)

//由于此时获取 value bool ,使用_进行忽略 err操作

b , _ = strconv.ParseBool(str)

//输出b的类型与值

fmt.Printf("b type %T b=%vb, b)

输出结果: b type bool  b=true

2.str类型转化为int类型

1.int内的参数

1str string(即字符串本身)

1base int(代表转换为相应的进制。如书写2后代表2进制)

1bitSize int(bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64分别带代表 intint8int16int32int64,即书写0后转为int)

2.例子

var str2 string = "1234590”

var n1 int64

var n2 int

n1,_= strconv.ParseInt(str2,10,64)

n2 = int(n1)

fmt.Printf( "n1 type %T n1=%v\n", n1,n1)

输出结果:

n1  type  int64  n1=1234590

fmt.Printf( "n2 type %T n2=%v\n", n2,n2)

输出结果:

n2  type  int  n2=1234590

//两结果相同

3.str类型转为float类型

1.float内的参数

1s string(字符串)

1bitSize(一般为32或64,float类型在golong中仅此两种)

floast与bool同样返回两个值,分别为转换后的float64error

2.实例

var str3 string = "123.456”

var f1 float64

f1, _= strconv.ParseFloat(str3,64)

fmt.Printf( "f1 type %T f1=%v\n",f1,f1)

输出结果: f1  type  float64  f1=123.456

4.说明

(1)案例演示

返回的是int64或float64类型,则必须使用同种类型进行接收。此时若欲得到int32 float32,则将进行如下的转换处理

var num5 int32

num5 = int32(num)

(2)Go 语言特点

以上示例再次体现出 golong 语言的严谨特点:即强制进行部分操作。若此前学习过 Java 或者动态脚本语言:php、python 等将会认为此部分较为麻烦。但 Go 语言的本质目的仍是欲使语言更加严谨。

相关文章
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
448 0
|
网络协议 编译器 Linux
【C语言】结构体内存对齐:热门面试话题
【C语言】结构体内存对齐:热门面试话题
437 0
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
203 2
【Docker项目实战】使用docker部署tabler后台模版
|
数据可视化 大数据 数据处理
大数据处理时的python和R语言
【5月更文挑战第5天】本文讨论了在语言Python 和R中数据处理时的框架,比如Python中的 OpenCV, Matplotlib, NumPy, Pandas, 和Seaborn。
223 1
大数据处理时的python和R语言
|
数据可视化 IDE 数据挖掘
揭秘Conda:Python开发者必备的包管理神器
揭秘Conda:Python开发者必备的包管理神器
291 1
|
消息中间件
【RabbitMQ七】——RabbitMQ发布确认模式(Publisher Confirms)
【RabbitMQ七】——RabbitMQ发布确认模式(Publisher Confirms)
825 0
|
存储 安全 Java
阿里云云效产品使用合集之怎么设置使用npm私有仓库进行流水线拉取依赖
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
Linux Windows
荔枝派Zero(全志V3S)驱动开发之USB摄像头 2
荔枝派Zero(全志V3S)驱动开发之USB摄像头
339 0
|
存储 监控 Linux
linux系统应用中select函数与poll函数详解
linux系统应用中select函数与poll函数详解
219 0
中序线索二叉树的实现(源代码以及讲解)
中序线索二叉树的实现(源代码以及讲解)
417 0