【Go从学会到学废】(三) 变量和常量

WhoCan · · 150 次点击 · · 开始浏览    

Go声明变量方法:

Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。

声明变量的一般形式是使用 var 关键字:

第一种声明变量方法:

  1. var identifier type声明变量
  2. 也可以用 var identifier1,identifier2,identifier3 type声明多个变量
  3. 声明时是可以直接初始化的,不初始化默认零值
var s0 string
s0 = "Hello"
var s1 string = "Hello"
var s2, s3 string = "Hello", "World"
var i1 int = 10
var i2, i3, i4 int = 1, 2, 3
var b1 bool = true
var b2, b3 bool = true, false

也可以这样

var (
    s0 string
    s1         string
    s2, s3     string
    i1         int
    i2, i3, i4 int
    b1         bool
    b2, b3     bool
)

==注:==

  • ==声明了变量一定要使用==
  • ==与 C/C++,Java不同的是,GO 类型在前,变量名在后==

第二种声明变量方法:

根据值自行判定变量类型

var s1 = "Hello"
var s2, s3 = "Hello", "World"
var i1 = 10
var i2, i3, i4 = 1, 2, 3
var b1 = true
var b2, b3 = true, false

第三种声明变量方法:

省略 var, 使用:=

s1 := "Hello"
s2, s3 := "Hello", "World"
i1 := 10
i2, i3, i4 := 1, 2, 3
b1 := true
b2, b3 := true, false
  • ==左侧如果不是声明新的变量,就会报错==

  • ==如果在相同的代码块中,我们不可以再次对于相同名称的变量使用初始化声明==

  • 使用起来简洁,高效

    var a int 
    a := 1
    

    s := "Hello"
    s := "World"
    var s
    

    都是错的

匿名变量

可以用_作为匿名变量,意味着只写或者占位符

_, i1 := 10, 9
s1, _, _ := "Hello", "World",""

Go声明变量方法:

声明变量的一般形式是使用 const关键字:

const s1 string = "Hello"
const s2 = "World"
const b1 bool = true
const b2 = false
const i1 int = 1
const i2 = 0

或者

const (
    s1 string = "Hello"
    s2        = "World"
    b1 bool   = true
    b2        = false
    i1 int    = 1
    i2        = 0
)

==注:==

  • ==常量声明必须初始化,但不一定要使用==

itoa

const 内的 iota是golang语言的常量计数器,只能在常量的表达式中使用,,即const内。iota==在const关键字出现时将被重置为0==(const内部的第一行之前),const中==每新增一行常量==声明将使iota计数一次。可以参照行号理解,也就是说将iota理解为const语句块中的行索引。类似于枚举

const a = iota // a=0
const b = iota //b=0
const (
    c    = iota               //c=0
    d                         //d=1
    e, f = iota + 0, iota + 0 //e=2,f=2

)

有疑问加站长微信联系

本文来自:简书

感谢作者:WhoCan

查看原文:【Go从学会到学废】(三) 变量和常量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:812540095

150 次点击  
加入收藏 微博
1 回复  |  直到 2020-10-19 07:24:15
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传