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 语言的本质目的仍是欲使语言更加严谨。

相关文章
|
2月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
每天一道面试题之String属于基础数据类型吗?
每天一道面试题之String属于基础数据类型吗?
|
6月前
|
存储 缓存 安全
String的不可变性
String的不可变性
40 0
|
存储 C++
C++ 字符串类 string
C++ 字符串类 string
60 0
|
Java
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
93 0
|
编译器 C++
【C++】-- String深浅拷贝详解
【C++】-- String深浅拷贝详解
211 0
【C++】-- String深浅拷贝详解
Zp
|
JSON fastjson 数据格式
使用fastjsonlist和String互转
使用fastjsonlist和String互转
Zp
634 0
|
Java
Java数据类型中String、Integer、int相互间的转换
Java数据类型中String、Integer、int相互间的转换
196 0
|
Java 编译器 Scala
值类型与 String 相互转换|学习笔记
快速学习值类型与 String 相互转换。
值类型与 String 相互转换|学习笔记
【Java基础】浅谈 toString()、String.valueOf、(String)强转?
【Java基础】浅谈 toString()、String.valueOf、(String)强转?
172 0
【Java基础】浅谈 toString()、String.valueOf、(String)强转?