博客
关于我
Go语言基础之变量和常量
阅读量:442 次
发布时间:2019-03-06

本文共 2080 字,大约阅读时间需要 6 分钟。

Go语言入门到放弃完整教程目录

欢迎来到《Go语言从入门到放弃》的完整教程目录。这里不仅提供Go语言的完整学习内容,还包含Python、人工智能、PyTorch、TensorFlow、爬虫等多个技术方向的教学资源,助力你成为一名多能的开发者。


一、标识符与关键字

二、标识符

标识符是编程语言中程序员定义的具有特殊意义的词,包括变量名、常量名、函数名等。Go语言中,标识符由字母、数字和下划线组成,且只能以字母或下划线开头。常见的标识符示例包括:abc__123a123

三、关键字

关键字是编程语言中预先定义好的具有特殊含义的标识符,不建议用于变量名。Go语言中共有25个关键字,以下是完整列表:

  • breakdefaultfuncinterfaceselectcasedefergomapstructchanelsegotopackageswitchconstfallthroughifrangetypecontinueforimportreturnvar

此外,Go语言中还有37个保留字,常见的包括:truefalseiotanilintuintfloat32string等。


四、变量

五、变量的来历

程序运行过程中的数据保存在内存中,变量用于保存数据的内存地址,方便后续通过变量操作数据。通过变量代替内存地址,不仅提高了代码的可读性,也避免了直接操作内存的危险。

六、变量类型

Go语言中的每个变量都有特定的类型,且变量必须经过声明后才能使用。变量类型决定了数据的存储方式和操作方式。常见的变量类型包括整型、浮点型、布尔型等。Go语言支持丰富的类型系统,变量声明后会自动初始化为类型默认值。

七、变量声明

Go语言中的变量需要通过var关键字声明,同一作用域内不支持重复声明。变量声明后必须使用,且支持批量声明和初始化。

7.1 标准声明

变量声明格式为:

var 变量名 变量类型

示例:

var name stringvar age int

7.2 批量声明

支持一次性声明多个变量:

var (a string b int c bool d float32)

7.3 变量初始化

Go语言在变量声明时会自动初始化为类型默认值,例如:

  • 整型和浮点型变量默认为0
  • 布尔型变量默认为false
  • 切片、函数和指针变量默认为nil

变量也可以在声明时指定初始值:

var name string = "Q1mi"var age int = 18

支持多变量一次性声明和初始化:

var name, age = "Q1mi", 20

7.3.1 类型推导

当变量类型省略时,编译器会根据右边表达式推导变量类型:

var name = "Q1mi"var age = 18

7.3.2 短变量声明

在函数内部,可使用:=声明并初始化局部变量:

func main() {    n := 10    m := 200    fmt.Println(m, n)}

7.3.3 匿名变量

在多值赋值时,可使用匿名变量_忽略某些值:

func foo() (int, string) {    return 10, "Q1mi"}func main() {    x, _ := foo()    _, y := foo()    fmt.Println("x=", x)  // 输出: x=10    fmt.Println("y=", y)  // 输出: y=Q1mi}

八、常量

九、iota

iota是Go语言中的常量计数器,只能在const表达式中使用。iotaconst块中重置为0,每新增一行iota计数一次。

9.1 iota示例

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

9.2 常见用法

  • 插队使用:
const (    n1 = iota  // 0    n2 = 100  // 100    n3 = iota  // 2    n4      // 3)
  • 定义数量级:
const (    _  = iota    KB = 1 << (10 * iota)    MB = 1 << (10 * iota)    GB = 1 << (10 * iota)    TB = 1 << (10 * iota)    PB = 1 << (10 * iota))
  • 多个iota在一行:
const (    a, b = iota + 1, iota + 2  // 1, 2    c, d                       // 2, 3    e, f                       // 3, 4)

以上内容为Go语言教程的基础部分,后续将继续深入讲解函数、控制结构、接口等高级主题,助力你掌握Go语言的核心知识。

转载地址:http://bxgyz.baihongyu.com/

你可能感兴趣的文章
Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
查看>>
Node提示:npm does not support Node.js v12.16.3
查看>>
Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
查看>>
Node服务在断开SSH后停止运行解决方案(创建守护进程)
查看>>
node模块化
查看>>
node环境下使用import引入外部文件出错
查看>>
node编译程序内存溢出
查看>>
Node读取并输出txt文件内容
查看>>
node防xss攻击插件
查看>>
noi 1996 登山
查看>>
noi 7827 质数的和与积
查看>>
NOIp2005 过河
查看>>
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
NOIp模拟赛二十九
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>
None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
查看>>
NOPI读取Excel
查看>>