您的位置:58脚本 > go语言数据类型转换 Go 语言类型转换

go语言数据类型转换 Go 语言类型转换

2023-03-13 20:32 Go教程

go语言数据类型转换 Go 语言类型转换

go语言数据类型转换

Go语言是一种静态类型的编程语言,它支持多种数据类型,包括整型、浮点型、布尔型、字符串、数组、切片、字典以及函数。在Go语言中,可以将一个数据的类型转换为另一个数据的类型,这就是Go语言中的数据类型转换。

Go语言中的数据类型转换有两种方式:显式转换和隐式转换。显式转换是通过显式声明将一个变量从一个数据类型转化成另一个数据类型;而隐式转化则是在不同的表达式中使用不同的数据类型时,Go会根据表达式的上下文来进行隐式地将其中一方的数据格式进行相应地修正。

// 显式声明
var a int = 10 
var b float64 = float64(a) 
 
// 隐式声明 
var c int = 10 
var d float64 = c  // Go会隐士将int 转成float64

Go 语言类型转换

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

type_name(expression)

type_name 为类型,expression 为表达式。

实例

以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:

package main

import "fmt"

func main() {
   var sum int = 17
   var count int = 5
   var mean float32
   
   mean = float32(sum)/float32(count)
   fmt.Printf("mean 的值为: %fn",mean)
}

以上实例执行输出结果为:

mean 的值为: 3.400000


go 不支持隐式转换类型

示例:

package main
import "fmt"

func main() {  
    var a int64 = 3
    var b int32
    b = a
    fmt.Printf("b 为 : %d", b)
}

此时会报错

cannot use a (type int64) as type int32 in assignment
cannot use b (type int32) as type string in argument to fmt.Printf

但是如果改成 ​b = int32(a) ​就不会报错了:

package main
import "fmt"

func main() {  
    var a int64 = 3
    var b int32
    b = int32(a)
    fmt.Printf("b 为 : %d", b)
}


阅读全文
以上是58脚本为你收集整理的go语言数据类型转换 Go 语言类型转换全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS