searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

go常量和变量解析

2024-04-25 08:55:58
5
0

1、标识符和关键字

在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母、数字和_(下划线)组成,并且只能以字母和_(下划线)开头。 举几个例子:abc__123
、 a123

2、关键字和预定义字符

关键字是编程中一些已经定义过的字,具有某些意义。预定义字符宝包括基本类型的名称和一些基本的内置函数。

关键字

go保留了25个关键字

预定义字符

go语言中有36个预定义字符

3、变量

变量的功能是存储数据,程序中可以同过变量来访问数据。go语言中变量由字母、数字、下划线组成,其中变量名的首个字符不能为数字。go语言变量必须声明后才能使用。

3.1 变量声明

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 单个变量声明形式
var 变量名 变量类型
// 举例
var str string
var count int

需要声明多个变量时,一个一个变量声明比较麻烦,go语言还支持批量声明变量

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
var (
    a string
    b int
    c float      
)

3.2 变量初始化

go语言变量在声明时,会自动对变量对应的内存区域做初始化操作。int型和float默认为0,string默认为空字符串,bool默认为false,切片、函数、指针变量的默认为 nil。
当然,我们也可以在声明变量时手动对变量做初始化操作:

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 手动初始化格式
var 变量名 变量类型 = 表达式
// 例子
var str string = "hello"
// 同时声明并初始化多个变量
var str, num = "hello", 10

类型推导:
go语言在初始化变量时可以不指定变量类型,由编译器根据表达式推导出变量的类型

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
var str = "hello" //str为string型变量

短变量声明并初始化
在函数内部,可以用:=方式声明并初始化变量。:=方式在函数外部是无法使用的

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
func main() {
        str := "hello"
}

3.3 匿名变量

go语言支持多返回值,在使用for循环遍历时,也会有多值情况。如果我们不希望获得所有的值,则可以用匿名变量来接收不是期望的返回值,因为匿名不占用命名空间,也不会分配内存。
匿名变量用_(下划线来表示)

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
func foo() (int, string) {
    return 10, "Q1mi"
}
func main() {
    x, _ := foo()
    _, y := foo()
    fmt.Println("x=", x)
    fmt.Println("y=", y)
}

4、常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

4.1 常量声明

常量声明时与变量声明相似,只需要把var改成const。常量声明时必须对它初始化
标准声明格式:

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
const str string = "hello"

类型推导:

<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 类型由编译器根据初始化值决定
const str = "hello"
0条评论
0 / 1000
吴****强
4文章数
0粉丝数
吴****强
4 文章 | 0 粉丝