一 点睛
一般有两种方式将基本类型转 string 类型,一种是使用 fmt.sprintf 函数,一种是使用 strconv 包中的函数,推荐使用第一种。
二 使用fmt.Sprintf("%参数", 表达式)
1 函数介绍
func Sprintf(format string,a ...interface{}) string
Sprintf 根据 format 参数生成格式化字符串并返回该字符串。
参数需要和表达式的数据类型相匹配。
fmt.Sprintf():会返回转换后的字符串。
三 使用 strconv 包的函数
四 实战
package main
import (
"fmt"
"strconv"
_ "unsafe"
)
// 演示 golang 中基本数据类型转成 string 使用
func main() {
var num1 int = 99
var num2 float64 = 23.456
var b bool = true
var myChar byte = 'h'
var str string // 空的str
// 使用第一种方式来转换:fmt.Sprintf 方法
str = fmt.Sprintf("%d", num1)
fmt.Printf("str type %T str=%q\n", str, str)
str = fmt.Sprintf("%f", num2)
fmt.Printf("str type %T str=%q\n", str, str)
str = fmt.Sprintf("%t", b)
fmt.Printf("str type %T str=%q\n", str, str)
str = fmt.Sprintf("%c", myChar)
fmt.Printf("str type %T str=%q\n", str, str)
// 第二种方式 strconv 函数
var num3 int = 99
var num4 float64 = 23.456
var b2 bool = true
str = strconv.FormatInt(int64(num3), 10)
fmt.Printf("str type %T str=%q\n", str, str)
// 'f':格式
// 10:表示小数位保留10位
// 64 :表示这个小数是 float64
str = strconv.FormatFloat(num4, 'f', 10, 64)
fmt.Printf("str type %T str=%q\n", str, str)
str = strconv.FormatBool(b2)
fmt.Printf("str type %T str=%q\n", str, str)
var num5 int64 = 4567
str = strconv.Itoa(int(num5))
fmt.Printf("str type %T str=%q\n", str, str)
}
五 测试结果
str type string str="99"
str type string str="23.456000"
str type string str="true"
str type string str="h"
str type string str="99"
str type string str="23.4560000000"
str type string str="true"
str type string str="4567"