Go语言中的数据类型转换
在go语言中,不同类型的变量之间赋值需要显示转换。
语法:T t=T(e)
var i int=1 //将i转换为float类型 var j float32=float32(i)
基本数据类型转string
方法1:fmt.Sprintf("%参数",表达式)
func Sprintf(forat string,a ...interface{}) string
Sprintf根据format参数生成格式化的字符串并返回该字符串
var num int =1 var str string="ok" //int类型转string str=fmt.Sprintf("%d",num) fmt.Printf("n=%v,v=%v",num,str)
var e byte='a' var str string="" //byte类型转string //%c 相应Unicode码点所表示的字符 str=fmt.Sprintf("%c",e) fmt.Printf("n=%v,v=%v",e,str)
var b bool=true var str string="" //bool类型转string //%t true 或 false。 //%q 双引号围绕的字符串,由Go语法安全地转义 str=fmt.Sprintf("%t",b) fmt.Printf("n=%v,v=%q",b,str)
var f float32=20.39 var str string="" //float类型转string //%t 有小数而无指数 //%q 双引号围绕的字符串,由Go语法安全地转义 str=fmt.Sprintf("%f",f) fmt.Printf("n=%v,v=%q",f,str)
方法2:使用strconv包的函数
导包
import ( "fmt" "strconv" )
var num int64=20 var str string="" //int类型转string //base后面跟进制 str=strconv.FormatInt(num,10) fmt.Printf("n=%v,v=%q",num,str)
var num float64=20.55 var str string="" //float类型转string //'f'是格式 10表示小数保留十位 64表示这个小数是float64 str=strconv.FormatFloat(num,'f',10,64) fmt.Printf("n=%v,v=%q",num,str)
var bl bool=true var str string="" //bool类型转string str=strconv.FormatBool(bl) fmt.Printf("n=%v,v=%q",bl,str)
string类型转基本数据类型
var num int=1 var str string="" //string类型转int str=strconv.Itoa(num) fmt.Printf("n=%v,s=%q",num,str)
var bl bool var str string="true" //string类型转bool //strconv.ParseBool会返回两个值 bl,_=strconv.ParseBool(str) fmt.Printf("n=%v,s=%q",bl,str)
作者:江北
出处:https://www.cnblogs.com/zhangnever/p/12448186.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
微信:CodeDoraemon
分类:
GoLang
Buy me a cup of coffee ☕.
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现