Go语言笔记 | 03-变量的声明和初始化

栏目: Go · 发布时间: 6年前

内容简介:在在声明变量时将变量的类型放在变量的名称之后,和未初始化的变量,系统会自动赋予该类型的零值

Go语言笔记 | 03-变量的声明和初始化

变量声明

go 语言中声明一个变量一般要用到关键字 var ,变量声明的语法: var 变量名 类型 = 表达式

在声明变量时将变量的类型放在变量的名称之后,和 c 语言不太一样,原因可以参考 go 声明语法

  • 声明一个变量
var i int // 0
  • 声明一个变量列表,同类型的变量
var a, b, c string // "", "", ""
  • 声明一组变量,不同类型的变量
var (
    str      string  // ""
    avg, sum float32 // 0.0, 0.0
)

未初始化的变量,系统会自动赋予该类型的零值

变量零值

当一个变量被声明之后,系统自动赋予它该类型的零值

false
0
0.0
空字符串 ""
nil

变量初始化

在变量声明的时候还可以包含初始值,每个变量对应一个, var 变量名 变量类型 = 表达式

  • 简单的初始化
var a int = 1
  • 变量列表初始化
var a, b string = "hello", "world"
  • 省略变量类型,变量会从初始值中获得类型
var a = math.Sin(0.5)         // float64
var b = 1                     // int
var c, d, e = 1, 3.5, "hello" // int float64 string

字面量有其对应的默认类型,整数(int),字符(rune),浮点数(float64),复数(complex128),字符串(string)

短变量声明

在函数内部带初始化的声明可以使用 变量名:= 表达式 这种简短的声明方式。

i := 123                      // int
min, max := 1, 1000           // int, int
a, b, c := 1, true, "message" // int, bool, string
d := math.Pow10(2)            // float64

参考资源:

  1. https://golang.google.cn/doc/faq#declarations_backwards
  2. https://blog.golang.org/gos-declaration-syntax
  3. https://golang.google.cn/ref/spec#Variable_declarations
  4. https://golang.google.cn/ref/spec#Constants
  5. https://golang.google.cn/ref/spec#Constant_expressions
  6. https://golang.google.cn/ref/spec#Short_variable_declarations

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Concepts, Techniques, and Models of Computer Programming

Concepts, Techniques, and Models of Computer Programming

Peter Van Roy、Seif Haridi / The MIT Press / 2004-2-20 / USD 78.00

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them p......一起来看看 《Concepts, Techniques, and Models of Computer Programming》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换