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

在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语言社区(Golangweb)

原文发表时间:2017-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spring相关

Vue的Computed的使用

942
来自专栏杂文共赏

Go中没有按引用传递

在Go中两个变量共享同一块内存区域是不可能的。但是两个变量指向的实际存储位置是可以一样的,但这不同于两个变量共享相同的存储区域。

1921
来自专栏CSDN技术头条

12个非常有用的JavaScript技巧

在这篇文章中,我将分享12个非常有用的JavaScript技巧。这些技巧可以帮助你减少并优化代码。 1) 使用!!将变量转换成布尔类型 有时,我们需要检查一些变...

2176
来自专栏运维小白

9.4sed(上)

sed工具 sed -n '5'p test.txt sed -n '1,5'p test.txt sed -n '1,$'p test.txt sed -n ...

1868
来自专栏JavaEdge

后端开发必备JavaScript函数1 Array 对象2 String对象

632
来自专栏前端菜鸟变老鸟

Object.keys和Object.values

使用Object.keys()或者Object.values()获取循环变量,渲染的时候根据循环变量获取值。Object.keys()函数返回索引(不仅仅是数字...

892
来自专栏Golang语言社区

Go语言基本的语法和内置数据类型初探

Go令牌 Go程序包括各种令牌和令牌可以是一个关键字,一个标识符,常量,字符串文字或符号。例如,下面的Go语句由六个令牌: fmt.Println("Hell...

2845
来自专栏Python攻城狮

Javascript(1)-js入门

这里主要指字符串的各种函数 str.length() 获取字符串长度 str.charAt(index)获取指定位置的字符 str.indexOf(cha...

924
来自专栏深度学习与计算机视觉

C++ 指针常量与常量指针

吐槽一下: 指针常量与常量指针的翻译就好比机器学习中Regularization翻译成正则化一样,讲真,正则化这个说法确实要比规则化显得高端些,但是到了理解...

2607
来自专栏个人随笔

房上的猫:if选择结构

一.基本if结构: ? ?  1.定义:if选择结构是根据条件判断之后再做处理的一种语法结构!  2.逻辑:首先对条件进行判断   >如果为真,则执行代码块 ...

36812

扫码关注云+社区

领取腾讯云代金券