go字符串
-
由字节组成
定义一个字节时,必须通过
var b1 byte = ‘a’
通过fmt.Printf("%c,%d",b1,b1)格式化输出 -
go统一使用utf-8编码,统一,不会有乱码问题。
-
ASCII码和utf-8编码,utf-8包括ascii码,即兼容ascii码
-
go的字符串是不可变的
-
可使用反引号``输出真实文本。
-
+加号必须放在末尾,才可换行
基本数据类型手动强制转换
高精度与低精度之间,必须显示转换。
T(v):类型(变量)
type(value)
值本身的数据类型并未发生改变,只是将值转换为另一类型交给他人。
基本数据类型和string的转换
基本数据类型->string
fmt.Sprintf()
strconv.FormatInt()
var a1 int = 1
var a2 float64 = float64(a1)
fmt.Println(a1)
fmt.Println(a2)
var num1 int = 100
var myChar byte = 'q'
var str string
str = fmt.Sprintf("%d",num1)
fmt.Println(str)
str = fmt.Sprintf("%c",myChar)
fmt.Println(str)
str = strconv.FormatInt(int64(num1),10)
fmt.Println(str)
strconv.FormatFloat(float64(num1),'f',10,64)
fmt.Println(str)
str = strconv.Itoa(a1)
fmt.Printf("%q",str)
string->基本数据类型
注意:确保string类型要转成一个有效数据,若把字符串"hello"转成整数,会返回0
var str string = "true"
var b bool
// ParseBool()返回两个值,因为不想返回error,使用_忽略。
b , _ = strconv.ParseBool(str)
fmt.Printf("%v\n",b) // true
var str2 string = "123"
var n2 int64
n2 , _ = strconv.ParseInt(str2,10,64)
fmt.Printf("%v",n2)
var str3 string = "123.666"
var f3 float64
f3,_ = strconv.ParseFloat(str3,64)
fmt.Printf("%v",f3)