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

Posted 程序彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语言之字符串类型转换string和基本数据类型相互转换的主要内容,如果未能解决你的问题,请参考以下文章

Go基础之程序结构数据类型

Go基础之程序结构数据类型

go语言碎片整理之strconv

Go语言编程之字符串与其他数据类型之间的转换

Go 数据类型转换

Go语言标准库之strconv