前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go语言基础】变量和常量

【Go语言基础】变量和常量

作者头像
felixzhao
发布2021-09-06 10:12:20
4140
发布2021-09-06 10:12:20
举报
文章被收录于专栏:null的专栏

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

1. 标识符

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

代码语言:javascript
复制
a_1  // 合法标识符
_a1  // 合法标识符
1_a  // 非合法标识符

在Go语言中,标识符分为预定义标识符和可自定义标识符。预定义标识符是指Go语言中预先定义好的标识符,包括关键字,内置数据类型标识符,常量值标识符,内置函数和空白标识符。以关键字为例,Go语言中预定义了25个关键字:

代码语言:javascript
复制
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。如:

代码语言:javascript
复制
var a int

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

2.1.2. 变量初始化

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

代码语言:javascript
复制
a = 1

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

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

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

  • 多个同类型的变量
代码语言:javascript
复制
var a, b int = 1,2
  • 多个不同类型的变量
代码语言:javascript
复制
var (
		a int
		b float32
	)
a = 1
b = 2.1

2.2. 常量

2.2.1. 常量声明和初始化

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

代码语言:javascript
复制
const s string = "hello world"
const a int = len(s)  // 在编译期运行的常量表达式

2.2.2. 预定义常量

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

代码语言:javascript
复制
const (
	a_1 = iota  // 0
	a_2 = iota  // 1
	a_3 = iota  // 2
)

2.2.3. 特殊的常量——枚举

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

代码语言:javascript
复制
func main() {
	const (
		Zero = iota
		One
		Two
		Three
	)

	fmt.Println(Zero)
	fmt.Println(One)
	fmt.Println(Two)
	fmt.Println(Three)
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 标识符
  • 2. 变量和常量
    • 2.1. 变量
      • 2.1.1. 变量声明
      • 2.1.2. 变量初始化
      • 2.1.3. 多个变量的声明和初始化
    • 2.2. 常量
      • 2.2.1. 常量声明和初始化
      • 2.2.2. 预定义常量
      • 2.2.3. 特殊的常量——枚举
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档