Golang基础篇-变量及类型

标识符的组成

  1. 标识符由数字、字母和下划线(_)组成。123 abc _
  2. 只能以字母和下划线(_)开头。abc123 _sysVar 123abc
  3. 标识符区分大小写。 name Name NAME

 

go语言关键字

go语言提供了25个关键字,如下所示

breakdefaultfuncinterfaceselect
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数,见下表:

appendboolbytecapclosecomplexcomplex64complex128uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

 

命名规则:

任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头

包名称

保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。包名应该为小写单词,不要使用下划线或者混合大小写。

文件命名

尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。

结构体命名

采用驼峰命名法,首字母根据访问控制大写或者小写

struct 申明和初始化格式采用多行,例如下面:

接口命名

命名规则基本和上面的结构体类型

单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer 。

常量命名

常量均需使用全部大写字母组成,并使用下划线分词

如果是枚举类型的常量,需要先创建相应类型:

错误处理

错误处理的原则就是不能丢弃任何有返回err的调用,不要使用 _ 丢弃,必须全部处理。接收到错误,要么返回err,或者使用log记录下来尽早return:一旦有错误发生,马上返回,尽量不要使用panic,除非你知道你在做什么,错误描述如果是英文必须为小写,不需要标点结尾,采用独立的错误流进行处理

单元测试

单元测试文件名命名规范为 example_test.go 测试用例的函数名称必须以 Test 开头,例如:TestExample 每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试 。

 

golang变量

Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用。

var:声明变量关键字

identifier:变量名称

type:变量类型

批量声明

使用一个var关键字,把一些变量写在一个括号()

变量的初始化

Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串“”。 布尔型变量默认为false。 切片、函数、指针变量的默认为nil

变量初始化语法

var 变量名 类型 = 表达式

例如

package main
func main() {
	var name string = "老郭"
	var site string = "www.duoke360.com"
	var age int = 30
}

类型推导

我们在声明变量时,可以根据初始化值进行类型推导,从而省略类型。

package main
func main() {
	var name = "老郭"
	var site = "www.duoke360.com"
	var age = 30
}

初始化多个变量

可以一次初始化多个变量,中间用逗号分隔。

package main
func main() {
	var name, site, age = "老郭", "www.duoke360.com", 30
}

短变量声明

在函数内部,可以使用 :=运算符对变量进行声明和初始化。

package main

func main() {
	name := "老郭"
	site := "www.duoke360.com"
	age := 20
}

注意:这种方法只适合在函数内部,函数外面不能使用。

匿名变量

如果我们接收到多个变量,有一些变量使用不到,可以使用下划线_表示变量名称,这种变量叫做匿名变量。例如:

package main

import "fmt"

func getNameAndAge() (string, int) {
	return "老郭", 30
}

func main() {
	name, _ := getNameAndAge()
	fmt.Printf("name: %v\n", name)
}

go语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

Go 语言按类别有以下几种数据类型:

序号类型和描述
1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。
2 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
3 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
4 派生类型: 包括:(a) 指针类型(Pointer)(b) 数组类型(c) 结构化类型(struct)(d) Channel 类型(e) 函数类型(f) 切片类型(g) 接口类型(interface)(h) Map 类型

数字类型

Go 也有基于架构的类型,例如:int、uint 和 uintptr。

序号类型和描述
1 uint8 无符号 8 位整型 (0 到 255)
2 uint16 无符号 16 位整型 (0 到 65535)
3 uint32 无符号 32 位整型 (0 到 4294967295)
4 uint64 无符号 64 位整型 (0 到 18446744073709551615)
5 int8 有符号 8 位整型 (-128 到 127)
6 int16 有符号 16 位整型 (-32768 到 32767)
7 int32 有符号 32 位整型 (-2147483648 到 2147483647)
8 int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮点型

序号类型和描述
1 float32 IEEE-754 32位浮点型数
2 float64 IEEE-754 64位浮点型数
3 complex64 32 位实数和虚数
4 complex128 64 位实数和虚数

其他数字类型

以下列出了其他更多的数字类型:

序号类型和描述
1 byte 类似 uint8
2 rune 类似 int32
3 uint 32 或 64 位
4 int 与 uint 一样大小
5 uintptr 无符号整型,用于存放一个指针
 
 
posted @   威小龙  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示