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

相关推荐
xcLeigh12 小时前
Go入门:短变量声明的陷阱与最佳实践
java·redis·golang·教程·变量
JavaPub-rodert13 小时前
我又把自己的 Go 后台管理系统升级了一遍:文件管理、2GB 上传、私有文件预览、Docker 镜像全安排上了
开发语言·docker·golang·shiyuadmin
名字还没想好☜13 小时前
Go 的 sync.Cond 实战:用条件变量做等待/通知,比忙轮询省 CPU
开发语言·数据库·后端·golang·go
啊哈一半醒1 天前
Go 语言 Context 全方位详解:原理、实战与避坑
开发语言·后端·golang
名字还没想好☜2 天前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
ttwuai2 天前
Go 后台定时任务启停不生效怎么办?先查调度同步链路
开发语言·后端·golang
运维开发笔记2 天前
3.1 Go if 语句学习笔记
golang
进击的程序猿~3 天前
Go Interface源码深度解析指南
开发语言·后端·golang
—Qeyser3 天前
Sponge 脚手架快速创建后端API及接口使用完整教程
golang