微信号:Golangweb

介绍:欢迎来到 Go语言社区 社区网址:www.golangweb.com APP网址:app.golangweb.com 社区非公司性质,完全个人爱好建立;做的不好的地方大家见谅.

厚土Go学习笔记 | 09. 类型转换 与 类型推导

2017-11-27 22:27 厚土火焰山

菅俊菠,70后IT人,程序员到产品经理/项目经理,先后涉猎教育、企管、煤矿、电商等多个领域的系统开发和团队管理工作。擅长业务分析、团队管理,关注前沿技术,目前注意力在golang、kotlin。微信号:hotu2010

共 1190 字,阅读需 3 分钟

在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)

当定义了一个变量,却没有显式指出其类型时,变量的类型由等号右侧的值(第一次赋值)推导出变量的类型。

例如

i := 42                // int
f := 3.142            //float64
g := 0.867 + 0.5i    //complex128

运行下面代码,可以输出类型

package main

import (
    "fmt"
)

func main() {
    i := 42
    f := 3.142
    g := 0.867 + 0.5i
    fmt.Printf("i is of type %T\n", i)
    fmt.Printf("f is of type %T\n", f)
    fmt.Printf("g is of type %T\n", g)
}

运行结果

i is of type int
f is of type float64
g is of type complex128

你可以用这个方法,测试一下各种类型的数据,看看都是什么结果。

 
Golang语言社区 更多文章 用生产者消费者理解golang channel golang profile用法 Golang中巧用defer进行错误处理 Golang随机time.sleep的Duration问题 Implement Domain Object in Golang
猜您喜欢 想上进就去努力培养,别说很难 移动广告作弊流量的浅潜规则 普通程序员如何保持核心竞争力? 赛尔译文 | Dropout分析 你居然还不知道无障碍应用?