GO_基本数据类型与字符串之间的转化

package main

import (
	"fmt"
	"strconv"
)

func main() {
	fmt.Println("-----------基本数据类型和字符串之间的转换-----------")

	var var1 int = 10
	var var2 float64 = 1.11
	var var3 bool = true
	var var4 byte = 'A'
	var str_ret string // 默认值是空字符串
	fmt.Println("var1:", var1, " var2:", var2 , " var3:", var3, " str_ret:", str_ret)
	
	//1. 使用fmt.Sprintf() 返回转化后的字符串
	str_ret = fmt.Sprintf("%d", var1)
	fmt.Println("str_ret:", str_ret)
	
	str_ret = fmt.Sprintf("%f", var2)
	fmt.Println("str_ret:", str_ret)
	
	str_ret = fmt.Sprintf("%t", var3)
	fmt.Println("str_ret:", str_ret)

	str_ret = fmt.Sprintf("%c", var4)
	fmt.Println("str_ret:", str_ret)

	str_ret = fmt.Sprintf("%d %f %t", var1, var2 ,var3)
	fmt.Println("str_ret:", str_ret)

	// %q 输出字符串会自动带上双引号
	fmt.Printf("str_ret:%q\n", str_ret)
	/*
		var1: 10  var2: 1.11  var3: true  str_ret:
		str_ret: 10
		str_ret: 1.110000
		str_ret: true
		str_ret: A
		str_ret: 10 1.110000 true
		str_ret:"10 1.110000 true
	*/


	// 2使用strconv中的函数转化成字符串
	fmt.Println("")
	var var5 int = 100
	var var6 float64 = 100.1111
	var var7 bool = false

	str_ret = strconv.FormatInt(int64(var5), 10) // 该方法的第一个参数必须是int64类型, 第二个参数表示按什么进制转
	fmt.Println("str_ret:", str_ret)
	str_ret = strconv.FormatInt(int64(var5), 16)
	fmt.Println("str_ret:", str_ret)

	/*
		f : 表示输出的格式
		10 : 小数点后的位数
		64 : float64
	*/
	str_ret = strconv.FormatFloat(var6, 'f', 10, 64)
	fmt.Println("str_ret:", str_ret)

	str_ret = strconv.FormatBool(var7)
	fmt.Println("str_ret:", str_ret)
	fmt.Println("")
	/*
		str_ret: 100
		str_ret: 64
		str_ret: 100.1111000000
		str_ret: false
	*/

	/*字符串转基本数据类型*/

	var var8 string = "true"
	var var9 string = "111111"
	var var10 string = "10.11111"

	var bool_ret bool
	var int64_ret int64
	var float64_ret float64

	bool_ret, _ = strconv.ParseBool(var8)
	fmt.Println("bool_ret:", bool_ret)
	
	/*按十进制转成int64类型*/
	int64_ret, _ = strconv.ParseInt(var9, 10 , 64)
	fmt.Println("int64_ret:", int64_ret)

	float64_ret, _ = strconv.ParseFloat(var10, 64)
	fmt.Println("float64_ret:", float64_ret)
	/*
		bool_ret: true
		int64_ret: 111111
		float64_ret: 10.11111
	*/

}

你可能感兴趣的:(GO总结,日常总结,golang,开发语言,后端)