Go语言基础 - 变量与常量

不留烦 · · 339 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、标识符

标识符是程序员定义的具有特定含义名词,如常量名、变量名和函数名等等

Go语言的标识符组成成分:字母、数字和下划线_,并且只能以字母和_开头,如ab3,_ab3

二、关键字

Go语言中预先定义好的25个关键字:

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

以及37个保留字:

Constants:    true  false  iota  nil

    Types:    int  int8  int16  int32  int64
              uint  uint8  uint16  uint32  uint64  uintptr
              float32  float64  complex128  complex64
              bool  byte  rune  string  error

 Functions:   make  len  cap  new  append  copy  close  delete
              complex  real  imag
              panic  recover

三、变量

程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。

1. 声明

// 标准声明:var 变量名 变量类型
var name string

// 批量声明:
var (
    a string
    b int
)

2. 初始化

var name string = "Go"

// 类型推导:
var name = "Go"

// 一次初始化多个变量:
var name, age = "Go", 10

// 短变量声明:
shortName := "Go"

// 匿名变量:
_ = "Go" // 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

四、常量

常量使用方式与变量极为相似,只是常量在定义的时候必须赋值。

1. 声明

const pi = 3.1415

// 多个常量一起声明
const (
      a = "33"
      b = 44
      c // 如果省略了值则表示和上面一行的值相同
)

2. 常量计数器iota

iota是go语言的常量计数器,只能在常量的表达式中使用。

iotaconst关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

const (
      a = iota // 0
      b        // 1
      _        // 跳过
      c        // 3
      d = 100  // iota声明中间插值
      e = iota // 5
)

const n = iota // 0

// 定义数量级 (这里的<<表示左移操作,1<<10表示将1的二进制表示向左移10位,也就是由1变成了10000000000,也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。)
const (
      _  = iota
      KB = 1 << (10 * iota)
      MB = 1 << (10 * iota)
      GB = 1 << (10 * iota)
      TB = 1 << (10 * iota)
      PB = 1 << (10 * iota)
)

// 多个iota定义在一行
const (
      a, b = iota + 1, iota + 2 // 1, 2; iota此处并未新增一行常量,iota == 0
      c, d                      // 2, 3; iota + 1 = 2, iota + 2 = 3,iota == 1
      e, f                      // 3, 4 
)

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:不留烦

查看原文:Go语言基础 - 变量与常量

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

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