📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

类型转换

创建时间2019-08-05最后修改2019-08-05原位置/程序员成长之旅/Go语言学习/笔记/字数268
目录:程序员成长之旅/Go语言学习/笔记

类型转换

表达式 T(v) 将值 v 转换为类型 T

一些关于数值的转换: var i int = 42 var f float64 = float64(i) var u uint = uint(f)

或者,更加简单的形式: i := 42 f := float64(i) u := uint(f)

与 C 不同的是 Go 的在不同类型之间的项目赋值时需要显式转换。 试着移除例子中 float64 或 int 的转换看看会发生什么。

package main import ( "fmt" "math" ) //注意观察就会发现,这些类型都是普通的类型转换(在Go中没有隐式类型转换),并非是强制类型转换 func main() { var x, y int = 3, 4 var f float64 = math.Sqrt(float64(xx + yy)) var z int = int(f) fmt.Println(x, y, z) }

14

1 package

main 2 3 import ( 4

"fmt" 5

"math" 6 ) 7 //注意观察就会发现,这些类型都是普通的类型转换 ( 在Go中没有隐式类型转换 ) ,并非是强制类型转换 8 func

main () { 9

var

x , y

int

=

3 , 4 10

var

f

float64

=

math . Sqrt ( float64 ( x * x

y * y )) 11

var

z

int

=

int ( f ) 12

fmt . Println ( x , y , z ) 13 } 14