开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map :基本数据转 string】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9531
基本数据转 string
目录:
一、基本介绍
二、基本类型转 string 类型
一、基本介绍
在程序开发中,经常需要将基本数据类型转成 string 类型或者将 string 类型转成基本数据类型。此类运用十分频繁。
二、基本类型转 string 类型
1.包含方式
(1)fmt.Sprintf("%参数",表达式)
(2)strconv
2.了解fmtSpringtf的使用
(1)推荐使用理由:方式较为灵活
(2)函数介绍
打开百度>搜索“Go 官方文档”>点开标准库文档,即可进入 Go 语言官方文档。
(3)具体步骤
在 Golang 标准库文档左侧的目录中进行下滑操作找到 fmt 包,其中包含着众多说明,于其中下滑寻找到 Index ,此中包含着众多可使用的函数。点击 func Sprintf 进行查询
(4)func Sprintf 解释
func Sprintf
func Sprintf(format string, a ...interface{ } ) string
Sprintf根据format参数生成格式化的字符串并返回该字符串。即将指定数据类型转化成所需要的字符串。
参数需要和表达式的数据类型相匹配。
(5)interface
即空接口,可接收任何数据类型
3.案例演示
(1)演示 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方法
//将num1内保存的值99转化成str返回给变量
str = fmt.Sprintf(
“
%d", num1)
fmt.Printf( "str type %T str=%q\n", str, str)
//Golong中若存在未使用的变量,则系统将会报错。故应将未使用的部分进行暂时的注销。
输出结果:
%v\n str type string str=99
%q\n str type string str=
“
99
”
//进行 float 的转化,将 float 注销部分重新打开。
str = fmt.Sprintf("%f"
,
num2)
fmt.Printf( "str type %T str=%q\n", str, str)
输出结果:
%v\n str type string str=23.456000
%q\n str type string str=“23.456000”
//进行 bool 值的转化
str = fmt.Sprintf("%t",b)
//%t内可填写的值:Golang 标准库文档左侧目录 fmt 下的通用对其进行格式的指定
%v 值的默认格式表示
%t 单词 true 或 false
%d 表示为十进制输出
%f 有小数部分但无指数部分,如123.456
%q 该值对应的单引号括起来的 go 语法字符字面值,必要时会采用安全的转义表示。
//在此进行 q 的书写使得输出效果的查看更为清晰
fmt.Printf( "str type %T str=%q\n", str, str)
输出结果:
%v\n str type string str=
true
%q\n str type string str=
“true”
//进行chart值的转化
str = fmt.Sprintf("%c"
,
myChar)
fmt.Printf( "str type %T str=%q\n", str, str)
输出结果:
str type string str=“h”
}
(2)使用 strconv 包的函数
1strconv 包的了解
打开 Golang 标准库文档左侧目录寻找得到 strconv 包,点击后从其中的众多函数内选取得到如下函数
func FormatBool(b bool) string
func Formatlnt(i int64, base int) string
func FormatUint(i uint64, base int) string
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
3实例
//第二种方式 strconv 函数
var num3 int = 99
var num4 float64 = 23.456
var b2 bool = true
//引入包 strconv
“strconv”
//Int 内首先放入变量,base int 中的 base 表示转成何种进制
//由于单独输入(num3,10)进行演示,由于 num 3 为 type int,需要接收的值为 int64,将会被系统报错,为解决此问题,应将值转化为 int64,即(int64(num3),10)
str=strconv.FormatInt(int64(num3)
,
10)
fmt.Printf( "str type %T str=%q\n", str, str)
输出结果:
str type string str=“99”
// strconv.FormatFloat( num4,'f',10,64)
//‘f'代表转成的格式:Golong 手册中明确写明,‘f’按照(-ddd.dddd)格式进行输出,此为一种常规格式
//prec 控制精度(排除指数部分):指小数位保留的位数
//10:表示小数位保留10位;64 :表示此小数是 float64位
str = strconv.FormatFloat(num4,'f',10,64)
fmt.Printf("str type %T str=%q\n", str, str)
输出结果:
str type string str=
“
23.4560000000
”
//此处为10位
str = strconv.FormatBool(b2)
fmt.Printf( "str type %T str=%q
\
n", str, str)
输出结果:
str type string str=“true”//转换成为字符串形式的 true