Go编程规范

文章目录


注释

复制代码
// 单行注释

/* 多行注释
第一行
第二行
*/

转义符

定义变量

由字母、数字、下划线组成,只能以字母或下划线开头。

声明变量的一般形式是使用var关键字:

复制代码
var 变量名 变量类型

方法一:指定变量类型,声明后若不赋值,使用默认值

go 复制代码
func main() {
	var i int
	i = 6
	fmt.Println("i=", i)
}

方法二:根据值自行判定变量类型(类型推导)

go 复制代码
var j = 7
fmt.Println("j=", j)

方法三:省略var, 注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误[推荐]

go 复制代码
k := 8
fmt.Println("k=", k)

全局变量和局部变量

go 复制代码
// 声明多个全局变量
var (
	num1  = 100
	num2  = 200
	name1 = "tom"
)

func main() {
	//声明局部变量
	var (
		num3  int    = 300
		num4  int    = 400
		name2 string = "jack"
	)
	//输出全局变量
	fmt.Println(num1, num2, name1)
	fmt.Println(num3, num4, name2)
}

fmt.Printf查看变量

go 复制代码
func main() {
	var n = 10
	fmt.Printf("%T\n", n) //查看变量的数据类型
	fmt.Printf("%v\n", n) //查看变量的值
	fmt.Printf("%b\n", n) //二进制方式输出
}

常量

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型

不能修改

go 复制代码
func main() {
	const num1 = 200
	fmt.Printf("num1:%v", num1)
	num1 = 300
	fmt.Printf("num1:%v", num1)
}

iota

iota在const关键字出现时将被重置为0(const 内部的第一行之前),const 中每新增一行常量声明将使iota 计数一次(iota 可理解为const 语句块中的行索引)

go 复制代码
func main() {
	const (
		a = iota  //iota为0,a=0
		b = "tom" //iota为1
		c = iota  //iota为2,a=2
	)
	fmt.Println(a, b, c)
}

定义函数

go 复制代码
func main() {	// 大括号必须在上面,不能单独起一行
	fmt.Println("hello,word!")
}

多行书写

用逗号分行

go 复制代码
func main() {
	fmt.Println("aaaaaaaaaaaaaa",
		"bbbbbbbbbb",
		"cccccccccc")
}

参考

视频:https://ke.qq.com/course/4298934/12948828185532598#term_id=104461528

相关推荐
二狗哈3 小时前
go游戏后端开发21:处理nats消息
开发语言·游戏·golang
能来帮帮蒟蒻吗6 小时前
Go语言学习(15)结构体标签与反射机制
开发语言·笔记·学习·golang
returnShitBoy14 小时前
Go语言中的defer关键字有什么作用?
开发语言·后端·golang
SoFlu软件机器人16 小时前
Go/Rust 疯狂蚕食 Java 市场?老牌语言的 AI 化自救之路
java·golang·rust
飞川撸码16 小时前
【LeetCode 热题100】240:搜索二维矩阵 II(详细解析)(Go语言版)
leetcode·矩阵·golang
烧瓶里的西瓜皮18 小时前
Go语言从零构建SQL数据库引擎(2)
数据库·sql·golang
赴前尘21 小时前
Go+Gin实现安全多文件上传:带MD5校验的完整解决方案
安全·golang·gin
佚名涙1 天前
go中锁的入门到进阶使用
开发语言·后端·golang
LuckyLay2 天前
LeetCode算法题(Go语言实现)_22
算法·leetcode·golang