基础知识_go语言变量

标识符

在go语言中标识符由字母、数字和_(下划线)组成,并且只能以字母和_开头。

关键字

关键字和保留字不建议用作变量名

go的关键字
    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
go的保留字
   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

变量声明

以关键字var开头,行尾无需分号

var 变量名 变量类型
var 变量名 变量类型=表达式

var name string
var age int
var address="图书馆"

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

变量初始化的值
整型和浮点型默认值:0,字符串默认值:空字符串,布尔型默认值:false,切片、函数、指针变量默认值:nil

赋值

  1. 类型推导
var name = "WDi"
var age = 18
  1. 短变量声明(!!!这个只能在函数内部使用)
package main
//导包
import "fmt"
var (
	a, b = 1, "20"
)

//程序主要入口
func main() {
	//a := 3
	fmt.Println(a)
	fmt.Println("hello world")
}
  1. 匿名变量
    匿名变量用一个下划线_表示,例如:
func get() (int, string) {
	return 18, "图书馆"
}
func main() {
	x, _ := get()
	_, y := get()
	fmt.Println("x=", x)
	fmt.Println("y=", y)
}

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明

注意事项
  1. 函数外的每个语句都必须以关键字开始(var、const、func等)。
  2. :=不能使用在函数外。
  3. _多用于占位,表示忽略值。
  4. 全局变量声明后可以不使用,局部变量声明后必须要使用,否则编译不通过。
  5. 同一作用域中不能重复声明同一变量名。

常量

常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。

const pi = 3.1415
const e = 2.7182

const (
    pi = 3.1415
    e = 2.7182
)

//const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
const (
    n1 = 100
    n2
    n3
)

iota

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

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

举个例子:

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

//使用_ 跳过某些值
const (
		n1 = iota //0
		n2        //1
		_
		n4        //3
	)
//iota声明中间插队
const (
		n1 = iota //0
		n2 = 100  //100
		n3 = iota //2
		n4        //3
	)
	const n5 = iota //0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值