Go 教程
- 第1节:Go 语言环境安装
- 第2节:Go 语言结构
- 第3节:Go 语言基础语法
- 第4节:Go 语言数据类型
- 第5节:Go 语言变量
- 第6节:Go 语言常量
- 第7节:Go 语言运算符
- 第8节:Go 语言条件语句
- 第9节:Go 语言循环语句
- 第10节:Go 语言函数
- 第11节:Go 语言变量作用域
- 第12节:Go 语言数组
- 第13节:Go 语言指针
- 第14节:Go 语言结构体
- 第15节:Go 语言切片(Slice)
- 第16节:Go 语言范围(Range)
- 第17节:Go 语言Map(集合)
- 第18节:Go 语言递归函数
- 第19节:Go 语言类型转换
- 第20节:Go 语言接口
- 第21节:Go 错误处理
- 第22节:Go 语言反射(Reflect)
- 第23节:Go 语言并发
- 第24节:Go 语言开发工具
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 的值为: %f\n",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)
}