Go语言基础变量和常量

Posted zhiyong_will

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言基础变量和常量相关的知识,希望对你有一定的参考价值。

用Go语言编写的程序都是从基本组件构成,而构成这些基本组件的是标识符,本章中将介绍到Go语言中使用到变量,常量以及基本数据类型。

1. 标识符

标识符是函数、变量、常量、自定义类型以及包的名称的总称,在Go语言中,标识符的命名遵循以下的规则:标识符任意字母或者下划线开始,后面可以跟任意的字符,数字或者下划线,并区分大小写,如:

a_1  // 合法标识符
_a1  // 合法标识符
1_a  // 非合法标识符

在Go语言中,标识符分为预定义标识符和可自定义标识符。预定义标识符是指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

2. 变量和常量

变量和常量是编程语言中最基本的组成元素,通过一个指定的标识符指向一块内存空间,程序中可以通过此标志符对内存的操作,根据内存空间中的内容是否能够被修改分为变量和常量,变量是指标志符指向的内存空间的内容是可改变的,而常量是指标志符指向的内存空间中的内容是不可改变的。

2.1. 变量

2.1.1. 变量声明

在Go语言中,变量是通过var关键字声明的,声明格式为:var identifier type。如:

var a int

定义了一个整形变量a,在没有初始化的情况下,整形变量默认为0。

2.1.2. 变量初始化

在定义了变量后需要对变量初始化,完整的初始化方式如下:

a = 1

对于新定义的变量,通常在声明变量的同时对变量初始化,初始化的方式为:

var a int = 1  // 完整声明+初始化
var b = 2  // 提供初始化值,可省略变量类型,由编译器⾃自动推断
c := 3  // 适用于局部变量

2.1.3. 多个变量的声明和初始化

  • 多个同类型的变量
var a, b int = 1,2
  • 多个不同类型的变量
var (
		a int
		b float32
	)
a = 1
b = 2.1

2.2. 常量

2.2.1. 常量声明和初始化

常量值必须是编译期可确定的数字、字符串、布尔值,通过const关键字可以定义常量:

const s string = "hello world"
const a int = len(s)  // 在编译期运行的常量表达式

2.2.2. 预定义常量

Go语言中有一些预定义常量,如:truefalseiota。预声明标识符iota用在常量声明中,其初始值为0,在一组多个常量同时声明时,其值会自动加1,如:

const (
	a_1 = iota  // 0
	a_2 = iota  // 1
	a_3 = iota  // 2
)

2.2.3. 特殊的常量——枚举

在其他的语言中(如C语言中)用enum作为关键字表示枚举类型,枚举是一系列常量的表示,在Go中,通过const关键字来表示枚举类型,如:

func main() 
	const (
		Zero = iota
		One
		Two
		Three
	)

	fmt.Println(Zero)
	fmt.Println(One)
	fmt.Println(Two)
	fmt.Println(Three)

以上是关于Go语言基础变量和常量的主要内容,如果未能解决你的问题,请参考以下文章

Go语言基础变量和常量

Go语言基础之变量和常量

Go语言 基础 变量和常量

Go语言基础变量和常量

Go语言基础:语言格式|变量|常量|数据类型

Go语言基础:语言格式|变量|常量|数据类型