美文网首页
<三>谈谈go的类型

<三>谈谈go的类型

作者: _Xie_ | 来源:发表于2017-08-23 23:39 被阅读0次

变量声明简写:=???

在函数内部,:=使用隐式类型,可以用来替换var声明
在函数外部,每一个语句必须以一个关键字开头,比如var func等,因此:=不可用在函数外部

Unlike regular variable declarations, a short variable declaration may redeclare variables provided they were originally declared earlier in the same block (or the parameter lists if the block is the function body) with the same type, and at least one of the non-blank variables is new. As a consequence, redeclaration can only appear in a multi-variable short declaration. Redeclaration does not introduce a new variable; it just assigns a new value to the original.

redeclaration 相当于给原来的变量赋值,并未声明新的变量,因此在函数外使用是不允许的。

还有一个原因,可能是保证语法的一致性,函数外都会以一个关键字来开头。

go 的类型推导(Type inference)

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

或者(等价)

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

编译器在处理的时候会进行类型推导,从而决定最终值的类型。

运行示例

类型转换(Type conversions)

跟C语言不同的是(C语言会在赋值时进行隐式转换),go 在两种不同的类型的项中,需要显示的进行类型转换。这里要与类型推导区分开来。
类型推导是在不指明类型时根据值推导
指定变量的类型但类型不匹配必须要显式类型转换

示例

常量声明 const

常量可以是字符、字符串、布尔型、数值,不可以用:=来声明常量

const示例

相关文章

  • <三>谈谈go的类型

    变量声明简写:=??? 在函数内部,:=使用隐式类型,可以用来替换var声明在函数外部,每一个语句必须以一个关键字...

  • 04-Go语言常量和变量

    Go数据类型 C语言的数据类型image GO语言数据类型image GO数据类型占用的内存空间image 注意点...

  • 02-Go语言常量和变量

    Go语言的数据类型 C语言的数据类型 Go语言的数据类型 Go语言各数据类型占用内存空间 Go语言中也可以使用si...

  • go(三)

    go(三) 数据类型 类型转化 并发 context channel channel主要使用在不同的gorouti...

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • 《GO语言圣经》读书笔记 第三章 基础数据类型

    Go语言将数据类型分为四类:** 基础类型、复合类型、引用类型和接口类型 ** 整型 Go语言的数值类型包括几种不...

  • 第04天(面对对象编程)_04

    16_接口的继承.go 17_接口转换.go 18_空接口.go 19_类型断言:if.go 20_类型断言:sw...

  • Go 基础篇总结-变量

    一、Go内建变量类型 类型转换 type(varName) 二、变量定义 四种变量定义类型: 变量定义 三、变量和...

  • Go 基础篇-变量

    一、Go内建变量类型 类型转换 type(varName) 二、变量定义 四种变量定义类型: 变量定义 三、变量和...

  • Go 语言程序设计(3)

    stacker.go 示例代码: stack.go 示例代码: 知识点: go 内置基础类型:布尔类型: bool...

网友评论

      本文标题:<三>谈谈go的类型

      本文链接:https://www.haomeiwen.com/subject/jpajdxtx.html