Go基本结构(2)

· 719字 · 2分钟

本篇文章主要是Golang中的变量,常量声明,使用细节

常量 🔗

  1. 声明方式:使用关键字const定义,只能定义基础类型:数值类型,字符串,布尔类型,常量声明后不能修改,所以声明时就必须赋值
//定义  两种方式
const c1 string = "你好"
const c2 = "你好"
  1. 常量的值可以涉及计算,但只能定义在编译期间中确定的数据,函数返回值不能在编译阶段确定,所以不能作为常量值,但内置函数​可以
const a int = 1+1 //可以
const b int = getNum()//不可以
  1. 数字型的常量没有大小和符号
  2. 可以并行赋值
const a,b,c = 1,2,3
const (
	c,d = 4,5
)
  1. 枚举
    1. 每次使用const都会重置iota为0
    2. 默认情况iota的值等于在const中排序的位置
const (
	man = 0
    woman = 1
)

//还可以使用iota作为枚举值
const (
	a = iota // 0 
    b = iota // 1
    c = iota // 2
    d = 8
    e = iota // 4 
)
//简写,简写时,后面的常量会默认使用上一个表达式
const (
	a = iota
    b
    c
)

变量 🔗

  1. 声明方式:变量的声明方式有多种,下面是常用的几种
//var identifier type
var a int = 1
var a = 1//go会根据值自动推导类型,但类似与int64这类类型不能通过自动推导获取到
var (
	a int64 = 1
    b = 2
)
//赋值操作符,短声明:= 类型也是自动推导,但是只能函数体内才能使用
c:=2
  1. 类型零值:int为0,float为0.0,字符串为空字符串,指针为nil,布尔值为false
  2. 不能重复初始化同一个名称一样的变量
  3. 不定义不能使用,定义了必须使用
  4. 并行赋值
var a,b,c = 1,2,"3"//不指定类型是可以混用
a,b,c := 1,2,"3"//短声明同样适用
var a,b,c int = 1,2,"3"//会出错
  1. 空白标识符,一般用来接收方法或者函数多个返回值,但是某些值不需要处理时
a,_=1,2//2将被抛弃

如有遗漏欢迎批评指正

comments powered by Disqus