Go之变量与常量

关键字

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

标识符

Go语言中的标识符是由字母和数字和下划线(_)组成,并且不能以数字开头,例如,funct,ABC,_funct,_123,funct1,abc1。

变量

  1. 定义:变量就是可以存储数据的内存块,它有名称,地址。
    变量示意图
  2. 类型:变量的功能就是存储数据,不同的数据有不同的类型,常见的变量类型有,整型,字符型,浮点型,布尔型等。
  3. 声明:Go语言中,变量必须先声明,后使用,声明之后必须使用。并且在同一作用域下不支持重复声明。
   //声明一个变量名为 ma的 char类型的变量
   var ma char

   //批量声明
   var (
	   a string
	   b int
	   c char
	   d float
   )
  1. 变量的初始化:Go语言中,在声明变量的时候,会自动对其进行初始化操作,它会被初始化为其类型的默认值,例如,整型的默认值为 0,字符串的默认值为空字符串,bool类型的默认值为false。
	//变量初始化标准格式
	  var 变量名 类型 = 表达式
	  
	  var name string = "zhangsan"
	  var age int = 18
	  
	//批量初始化操作
	
	  var name, age = "lisi", 20
	
	//类型推导,当省略类型时,编译器会通过右值推导变量的类型来完成初始化
	  
	  var name = "wangwu"
	  var age = 22
	
	//短变量声明,在函数内部通过更简短的方式声明变量
	
	package main
	import(
		"fmt"
	)
		
	func main(){
		n := 10  //声明一个整型局部变量n
		m := 20  //声明一个整型局部变量m
		fmt.Println(m, n)
	}
	//注意事项:":="不能在函数外使用

	//匿名变量:在使用多重变量赋值时,若想要省略某个值,可以
	//使用匿名变量,匿名变量用"_"表示
	package main
	
	import(
		"fmt"
	)
	
	func Example()(int, string){
		return 21, "JHC"
	}
	
	func main(){
		x, _ := Example()
		_, y := Example()
		fmt.Println(x)
		fmt.Println(y)
	}

常量

常量就是恒定不变的量,常量的定义与变量类似,只是将var换做const,并且常量在定义的时候必须赋值。

//非批量声明
const PI = 3.142   //定义一个名称为PI的常量
const e = 2.718	   //定义一个名称为e的常量

//批量声明
const(
	PI = 3.142
	e = 2.718
)

//注意事项,批量声明常量时,若省略了值则表示与上一行的值相同
const(
	ma = 10;
	mb       //mb = 10
	mc		 //mc = 10

)

//声明多个变量时,若省略其值,则表示与上一行的值相同
const(
	ma = 100
	mb
	mc
)
//ma = mb = mc = 100,ma,mb,mc的值都为100。

iota

iota是Go语言中的常量计数器,只能在常量表达式中使用。
其在const关键字出现时被置为0,const没新增一行常量声明将使得iota计数一次。

const(
	ma = iota	//0
	mb			//1
	mc			//2
)

//注意事项:使用_跳过某些值
const(
	ma = iota	//0
	mb			//1
	_
	mc			//3
)

//iota声明中间多了其他声明
const(
	ma = iota	//0
	mb = 10		//10
	mc = iota	//2
	md			//3
)
const me = iota	//0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值