Go语言:变量及关键字

简介: Go语言:变量及关键字

变量是Go语言中最基本的组成元素。变量时对一块内存的命名,程序可以通过定义一个变量来申请一块内存,之后通过引用变量来使用这块内存。


关键字

Go语言中有25个关键字


包相关: import 和package。


声明相关: var、 const、 type、 struct、 interface、 func、 chan、 map 和go。


循环相关: for 和range。


条件判断相关: if、 else、 switch、 select 和case。


中断或返回: returm、 goto、 fallthrough、 break、default 和continue。


延迟执行: defer。


内置的预声明的常量、类型和函数

(1)常量: true、false、iota和nil


(2)类型如下:


整型: int、 int8、 int16、 int32和int64。

无符号整型: uint、 uint8、 uint16、 uint32、 uint64和uintptr。

浮点型: float32、 float64、 complex64和complex128。

其他: bool、byte、 rune、string 和error。

(3)函数: make、len、cap、new、append、copy、close、delete、complex、real、imag、panic和recover。


注:常量声明时用const修饰,声明时必须赋值(初始化),且只能声明基本数据类型。

//常量的定义,type可省略constnametype=value

变量

变量的作用域

如果一个变量在函数中声明,那么它只在函数局部有效。如果一个变量在函数外部声明,那么它对包里面的所有函数源文件可见。


变量的第一个字母的大小写就决定了其可见性,以及是否跨包。大写字母开头,那么此变量可导出,对包外是可见和可访问的,并且可以被其他程序引用,包名本身小写。如果以小写字母开头,则不可导出,对包外不可见。


定义和初始化

varnametype=expression


var表示声明一个变量

name就是变量名,建议采用驼峰式命名

type是变量类型

expression是变量表达式

类型和表达式可以省略一个,但不能两个都省略:

省略类型,它的类型由初始化表达式决定。

省略表达式,初始值为对应类型的零值。


不同类型的零值如下:

数字类型的零值:0

布尔类型的零值:false

字符串类型的零值:" "

接口和引用类型(切片、指针、字典、通道、函数)的零值:nil

数组和结构体的零值是其所有成员的零值。

短变量

name := expression

此时name的类型由expression的类型决定,这种定义方式非常便捷。

目录
相关文章
|
6天前
|
存储 Go 容器
深入探究Go语言中的数据结构
深入探究Go语言中的数据结构
24 3
|
17天前
|
Go
Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
25 1
|
18天前
|
Go
初识go变量,使用var和:=来声明变量,声明变量的三种方式
这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
|
6天前
|
Go
GO语言时间转换
GO语言时间转换
17 0
|
16天前
|
Go 开发者
探索Go语言的并发之美
在Go语言的世界里,"并发"不仅仅是一个特性,它是一种哲学。本文将带你领略Go语言中goroutine和channel的魔力,揭示如何通过Go的并发机制来构建高效、可靠的系统。我们将通过一个简单的示例,展示如何利用Go的并发特性来解决实际问题,让你的程序像Go一样,轻盈而强大。
|
17天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
17天前
|
Go
go语言创建字典
go语言创建字典
|
18天前
|
关系型数据库 Go 数据处理
高效数据迁移:使用Go语言优化ETL流程
在本文中,我们将探索Go语言在处理大规模数据迁移任务中的独特优势,以及如何通过Go语言的并发特性来优化数据提取、转换和加载(ETL)流程。不同于其他摘要,本文不仅展示了Go语言在ETL过程中的应用,还提供了实用的代码示例和性能对比分析。
|
18天前
|
NoSQL Go API
go语言操作Redis
go语言操作Redis
|
18天前
|
Unix Go
go语言获取当前时间戳
go语言获取当前时间戳