美文网首页
Go语言类型转换

Go语言类型转换

作者: AuglyXu | 来源:发表于2018-09-20 15:47 被阅读0次

类型转换

  • Go语言和C语言不一样,Go语言没有隐式转换,只有显示转换

  • 格式和C语言一样

  • Go语言类型转换被用于转换的类型一般用于除了bool和字符串类型的类型转换

注意点:

  1. 不能对常量进行转换
  2. Go语言中没有非零即真的概念,不能将bool转换为整型

Go语言赋值特殊性

由于Go语言没有隐式转换,所以给变量赋值时,必须等号两边数值类型完全相同才可以赋值(函数接收参数时尤其注意参数类型,必须完全完全完全完全相同)

注意点:
byte --> uint8 和 rune --> int32 是能够直接赋值的特殊情况


字符串转基本数据类型

  • strconv.ParseXxx()

  • strconv.Atoi()

  • strconv.ParseInt(s string,base int,bitSize int)(i int64,err error)

    • 第一个参数: 需要转换的字符串
    • 第二个参数: 字符串转换的整数是多少进制的
    • 第三个参数: 转换为多少位有效位数的整数
    • 返回值:
      • 第一个返回值是一个int64类型的整数-----转换成功后的整数
      • 第二个返回值:转换成功返回nil,不成功返回的不是nil
str := "9"
num,err := strconv.ParseInt(str, 10, 1)
fmt.Printf("%d\n",num) //9
  • strconv.ParseFloat(s string,bitSize int)(i Float64,err error)
    • 第一个参数: 需要转换的字符串
    • 第二个参数: 转换为多少位小数
    • 返回值:
      • 第一个返回值是一个Float64类型的小数-----转换成功后的小数
      • 第二个返回值:转换成功返回nil,不成功返回的不是nil
str := "9.14"
num,err := strconv.ParseFloat(str, 1)
fmt.Printf("%f\n",num) //9.1
  • strconv.Atoi(s string)(int ,error)
    • 第一个参数: 需要转换的字符串
    • 返回值:
      • 第一个返回值是返回成功后的整数
      • 第二个返回值:转换成功返回nil,不成功返回的不是nil
str := "9"
num,err := strconv.Atoi(str)
fmt.Printf("%f\n",num) //9

基本数据类型转字符串

  1. strconv.FormatXxx()
  2. strconv.Itoa()
  • strconv.FormatInt(i int64,base int) (s string)

    • 第一个参数: 需要转换的整数, 必须是int64类型的(不是int64需要进行强制类型转换)
    • 第二个参数: 按多少进制转换成字符串
    • 返回值: 转换成的字符串
  • strconv.FormatFloat(f float64,fmt byte, prec int, bitSize int) (s string)

    • 第一个参数: 需要转换的小数, 必须是float64类型的
    • 第二个参数: 按照什么格式转换 'f'小数格式 'e' 指数的格式
    • 第三个参数: 保留多少位小数, 传入-1按照原始类型的精度保留
    • 第四个参数: 原始类型的标志 float32 --> 32 float64 --> 64
  • strconv.Itoa(i int)(s string)

  • 第一个参数: 需要转换的整数, 必须是int类型的
  • 返回值:转换成的字符串

相关文章

  • Go语言类型转换

    类型转换 Go语言和C语言不一样,Go语言没有隐式转换,只有显示转换 格式和C语言一样 Go语言类型转换被用于转换...

  • 03-数据类型转换

    数值类型转换 C语言中存在显式转换和隐式转换 Go语言中只有显式转换 Go语言中数值类型转换注意点 数值类型转换为...

  • 04GoLang类型转换

    数值类型之间的转换 在C语言中如何转换 1.1隐式转换 1.2显示转换 Go语言中如何转换 在Go语言中只有显示转...

  • 数据类型转换

    数值类型之间的转换 在C语言中如何转换1.隐式转换 2.显示转换 Go语言中如何转换 在Go语言中只有显示转换, ...

  • Go 语言基础——变量常量的定义

    go语言不支持隐式类型转换,别名和原有类型也不能进行隐式类型转换go语言不支持隐式转换 变量 变量声明 声明变量不...

  • 2-7 Go --- 类型转换

    Go 语言没有隐式类型转换,类型转换都是显示的强制转换。明明白白写清楚需要转换的类型。 强制类型转换只能在两个类型...

  • Go语言类型转换

    类型转换用于将一种数据类型的变量转换为另外一种类型的变量。 Go 语言类型转换基本格式如下: type_name(...

  • Go语言类型转换和类型断言

    Go语言的类型转换和类型断言: 类型转换在编译期完成,包括强制转换和隐式转换 类型断言在运行时确定,包括安全类型断...

  • 类型转换和类型断言

    go语言不允许隐式类型转换,而类型转换和类型断言的本质,就是把一个类型转换到另一个类型。 一、类型转换 1.语法:...

  • golang进阶之路

    类型转换 go语言提供了一种在不同但是相互兼容的类型之间相互转换的方式,并且这种转换非常安全。非数值类型之间的转换...

网友评论

      本文标题:Go语言类型转换

      本文链接:https://www.haomeiwen.com/subject/nmfnnftx.html