开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:sstring转基本类型细节】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9532
string转基本类型细节
内容介绍:
一、注意事项
二、Golong对于不能成功将字符串转换成有效数据的操作
一、string类型转换成基本数据类型
在将 string 类型转换成基本数据类型时,需确保 string 类型能够转换成有效数据。一般来讲,把基本数据转换为 string 较为简单。例如将12.35转 string 一般不会出现异常或错误。
二、Golong对于不能成功将字符串转换成有效数据的操作
1.理论
可将"123"转换成一个整数,但不能把"hello”转换成一个整数。若将“hello”转换成整数,Golong 并非进行报错,而是直接将其值转换成0。
其他类型同理:float=>0 bool=>false
2.实际操作
案例说明(1)
var str4 string = "hello”
var n3 int64 = 11
n3, _= strconv.ParseInt(str4,10,64)
fmt.Printf( "n3 type %T n3=%v\n", n3,n3)
输出结果:n3 type int64 n3=0
//n3转成int64但值为0,其原因为无法将hello转换成整数,仅把类型进行转换。n3本身为int64故并未发生变化,但由于hello无法转换成整数,只能填入默认值0。假设n3原值为11,此时结果仍然被转换为默认值0。
案例说明(2)
True=>bool可进行但hello=>bool无法进行转换
Var str string =”true”
Var b bool
B , _=strconv.ParseBool(str)
Fmt.Printf(“b type %T b=%v\n”,b,b)
输出结果: b type bool b=true
将 true 变为 hellook。
将 string =” hellook”转换为布尔值
输出结果:b type bool b=false
变为默认值false。假设默认值为true
输出结果:b type bool b=false
依旧变为 flase,故说明转换未成功,变为默认值。