Conversion of basic data types and string types in GO language

Conversion of basic data types and string types in GO language

1. Basic data type to string type

Sprintf method in fmt package

Format: fmt.Sprintf ("format control character", variable name)

package main
import(
	"fmt"
)

func main()  {
    
    
	//格式控制符为要转换的数据的类型
	var a int = 123
	var b float32 = 123
	var c bool = true
	var d string = "hello"
	var e byte = 'm'
	str1 := fmt.Sprintf("%d", a)
	str2 := fmt.Sprintf("%f", b)
	str3 := fmt.Sprintf("%t", c)
	str4 := fmt.Sprintf("%s", d)
	str5 := fmt.Sprintf("%c", e)

	//下面进行输出
	fmt.Printf("str1 = %v  类型:%T \n", str1, str1)
	fmt.Printf("str2 = %v  类型:%T \n", str2, str2)
	fmt.Printf("str3 = %v  类型:%T \n", str3, str3)
	fmt.Printf("str4 = %v  类型:%T \n", str4, str4)
	fmt.Printf("str5 = %v  类型:%T \n", str5, str5)

}

Output result:Insert picture description here

Functions in the strconv package

There are several functions in the strconv package for converting basic data types to string types: FormatInt, FormatUint, FormatFloat, FormatBool

package main
import(
	"fmt"
	"strconv"
)

func main()  {
    
    
	//格式控制符为要转换的数据的类型
	var a int64 = 123
	var b float64 = 123
	var c bool = true
	var d int = 123
	//var e byte = 'm'
	// str1 := fmt.Sprintf("%d", a)
	// str2 := fmt.Sprintf("%f", b)
	// str3 := fmt.Sprintf("%t", c)
	// str4 := fmt.Sprintf("%s", d)
	// str5 := fmt.Sprintf("%c", e)


	 str1 := strconv.FormatInt(a , 10) //10表示10进制,这个函数用于int64转string
	 //FormatFloat函数用法:strconv.FormatFloat(变量名,格式,精度,比特位)
	 str2 := strconv.FormatFloat(b, 'f', 7, 64)
	  //格式指的是进制格式,这里的'f'就是十进制格式,相应的还有'b':二进制格式; 'e'或'E':十进制指数;  	
	 //精度为7就是保留小数点后七位
	 //比特位为64意思是float64这种类型,相应的还有32,意为float32类型
	 str3 := strconv.FormatBool(c)

	// str4 := strconv.FormatByte(e)  !!!!这是错的!!!没有FormatByte这个函数

	 str4 := strconv.Itoa(d) //这个函数也有将int型转化为string的功能
	//下面进行输出
	fmt.Printf("str1 = %v  类型:%T \n", str1, str1)
	fmt.Printf("str2 = %v  类型:%T \n", str2, str2)
	fmt.Printf("str3 = %v  类型:%T \n", str3, str3)
	fmt.Printf("str4 = %v  类型:%T \n", str4, str4)
	


}

Output result:Insert picture description here

2. String to basic data type

Similarly, strconv also has functions to convert string into basic data types: ParseInt, ParseUint, ParseFloat, ParseBool

package main

import(
	"fmt"
	"strconv"
)
func main()  {
    
    
	var str1 string = "123"
	var str2 string = "123.123"
	var str3 string = "true"
    //以下的函数返回值位int64位或float64位,_表示哑元变量,用于接收函数的一个返回值
	//ParseInt用法:ParseInt(变量名,进制,比特位)
	a,_ := strconv.ParseInt(str1, 10, 64)  // 10表示a为十进制整数,64表示a为int64
	//ParseInt用法:ParseFloat(变量名,比特位)
	b,_ := strconv.ParseFloat(str2, 64) //64意为float64位
	//ParseBool(变量名)
	c,_ := strconv.ParseBool(str3)

	fmt.Printf("a = %v  类型为%T \n", a, a)
	fmt.Printf("b = %v  类型为%T \n", b, b)
	fmt.Printf("c = %v  类型为%T \n", c, c)
}

intf("a = %v type is %T \n", a, a)
fmt.Printf("b = %v type is %T \n", b, b)
fmt.Printf("c = %v type %T \n”, c, c)
}


输出结果:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210202205151466.png#pic_center)

Guess you like

Origin blog.csdn.net/qq_52698632/article/details/113573913