Golang——变量和常量

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

关键字(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个)

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

变量

变量声明

用关键字var,变量的声明必须使用空格隔开
var 变量名 变量类型

//单独声明
var name string
//一次声明多个变量
var test1, test2 string
//批量声明,一般用于声明全局变量
var (
   a string  //默认值是""
   b int      //默认值是0
   c bool   //默认值是false
)

变量声明必须使用;否则未使用话,go语言会报错。

指定变量类型,如果没有初始化,则会有默认值

string   默认值是""
int       默认值是0
bool    默认值是false
还有一些是nil

变量初始化

var (
   a string
   b int
   c bool
)
a = "haha"
b = 100
c = true
//声明变量并且初始化
var x string = "Golang"
var x, y  string = "Golang", "java"
//变量推导(变量根据默认值的类型设定变量类型)
var y = "Golang"
var x, z = 20, 40

注意同一个作用域内,变量不能重复声明,下面的示例是错误的:
var a = "aa"
var a = "bb"

//短变量声明(只能在函数内部使用)
m := 100
m, k := 100, true

注意 := 左侧如果没有声明新的变量,就产生编译错误

var intVal int 

intVal :=1 // 这时候会产生编译错误

intVal,intVal1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句

匿名变量(_

//定义函数
func foo()(string, int){
  return "a", 100
}

_表示占位

a, _ := foo()
fmt.Println(a)

_, b := foo()
fmt.Println(b)

常量

常量用const,在定义时候必须赋值,且程序自行期间不可再更改。

const pi = 3.1415
const e = 2.7182
const (
  a = 100
  b = 200
  c
  d
)
//c和d不赋值的话,默认用前一个值,即都是200

iota是go语言的额常量计算器,只能在常量的表达式使用。
iotaconst关键字出现时将被重置为0,const中每新增一行常量声明将使用iota计数一次(iota可理解为const语句快中的行索引)。
应用于定义枚举。

const (
  n1 = iota   //0
  n2             //1
  n3             //2
  n4             //3
)

使用_跳过某些值

const (
  n1 = iota   //0
  n2             //1
  -            
  n4             //3
)
const (
  n1 = iota   //0
  n2 = 100  //100
  n3 = iota  //2         
  n4            //3
)
const n5 = iota   //0
const (
  a, b = iota  + 1, iota + 2  // iota是0,a是1,不是2
  c, d   //  c, d = iota  + 1, iota + 2  ,iota是1,a是2,不是3
  e, f   //  e, f = iota  + 1, iota + 2  ,iota是2,a是3,不是4
)

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

本文来自:简书

感谢作者:Cici冬雪

查看原文:Golang——变量和常量

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

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