博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Golang 基本数据类型和string的转换
阅读量:3946 次
发布时间:2019-05-24

本文共 2579 字,大约阅读时间需要 8 分钟。

基本数据类型和string的转换

在程序开发中,我们经常将数据类型转成string或者string转成基本数据类型

基本类型转string类型


1、 fmt.Sprintf("%参数", 表达式) 【灵活】

函数介绍:
func Sprintf(format string, a …interface{}) string
// Sprintf根据format参数生成格式化的字符串并返回该字符串
参数需要和表达式的数据类型想匹配
fmt.Sprintf()… 会返回转换后的字符串


2、使用strconv 包的函数

func FormatBool(b bool) string
func FormatFloat64(f float64,fmt byte,prec,bitSize int) string
func FormatInt(i int64,base int) string
func FormatUnit(i unit64,base int) string

  • 案例演示
package mainimport (	"fmt"	"strconv")func main() {
var num1 int = 99 var num2 float64 = 23.456 var b bool = true var myChar byte = 'h' var str string //空的string // 使用第一种方式来转换 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 var num5 int64 = 4567 str = strconv.FormatInt(int64(num3), 10) fmt.Printf("str type %T str=%q\n", str, str) // strconv.AppendFloat(num4, 'f', 10, 64) // 说明:'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) str = strconv.Itoa(int(num5)) fmt.Printf("str type %T str=%q\n", str, str)}

string 类型转基本类型

使用时 strconv 包的函数
func ParseBool(str string)(value bool, err error)
func ParseFloat(s string, bitSize int)(i int64, err error)
func ParseInt(s string, base int, bitSize)(i int64, err error)
func ParseUnint(s string, b int, bitSize int)(n unit64 err error)

  • 案例演示
func main() {
var str string = "true" var b bool // b, _ = strconv.ParseBool(str) // 说明: // 1、strconv.ParseBool(str) 函数会返回两个值 (value bool, err error) // 2、因为我只想获取到 value bool ,不想获取 err 所以我使用——忽略 b, _ = strconv.ParseBool(str) fmt.Printf("b type %T b=%v\n", b, b) var str2 string = "1234590" var n1 int64 var n2 int n1, _ = strconv.ParseInt(str2, 10, 64) n2 = int(n1) fmt.Printf("n1 type %T n1=%v\n", n1, n1) fmt.Printf("n2 type %T n2=%v\n", n2, n2) var str3 string = "123.456" var f1 float64 f1, _ = strconv.ParseFloat(str3, 64) fmt.Printf("f1 type %T f1=%v\n", f1, f1)}

string 转基本数据类型的注意事项

在将string 类型转成 基本数据类型时,要确保string类型能够转成有效的数据,比如 我把"123", 转成一个整数,但是不能把"hello" 转成一整数,如果这样做,Golang直接将其转成 0 ,其他类型也是一样的道理。 float => 0 bool => false

var str4 string = "hello"var n3 int64 = 11n3, _ = strconv.ParseInt(str4, 10, 64)fmt.Printf("n3 type %T n3=%v\n", n3, n3)

转载地址:http://ohqwi.baihongyu.com/

你可能感兴趣的文章
Android:绘制自定义视图
查看>>
Android开发:一些有用的库(第一部分)
查看>>
Android 默认暗码
查看>>
Android 系列 1.3了解Android版本
查看>>
Android 系列 6.28使用正确的复数格式化
查看>>
Android 系列 6.29创建在两个活动之间显示的加载屏幕
查看>>
Android的Gradle技巧 1.2配置SDK版本和其他默认值
查看>>
Android的Gradle技巧 1.3从命令行执行Gradle构建
查看>>
Android的Gradle技巧 1.4从Android Studio执行Gradle构建
查看>>
Android的Gradle技巧 1.5添加Java库依赖关系
查看>>
Android的Gradle技巧 1.6使用Android Studio添加库依赖关系
查看>>
Android的Gradle技巧 1.7配置存储库
查看>>
android Collections 排序,
查看>>
Android的Gradle技巧 2.1设置项目属性
查看>>
Android的Gradle技巧 2.2将应用程序从Eclipse ADT移植到Android Studio
查看>>
Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse
查看>>
昂山素季 Aung San Suu Kyi
查看>>
AI 人工智能第一课 从贝叶斯定理开始
查看>>
朴素贝叶斯python实现
查看>>
Logistic回归原理及公式推导
查看>>