go语言之字符串、类型转换、string和基本数据类型相互转换

go字符串

  1. 由字节组成
    定义一个字节时,必须通过
    var b1 byte = ‘a’
    通过fmt.Printf("%c,%d",b1,b1)格式化输出

  2. go统一使用utf-8编码,统一,不会有乱码问题。

  3. ASCII码和utf-8编码,utf-8包括ascii码,即兼容ascii码

  4. go的字符串是不可变的

  5. 可使用反引号``输出真实文本。

  6. +加号必须放在末尾,才可换行

基本数据类型手动强制转换

高精度与低精度之间,必须显示转换。
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)
上一篇:go字符串处理


下一篇:Go语言字符串