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

相关推荐
言之。14 分钟前
【Go语言】RPC 使用指南(初学者版)
开发语言·rpc·golang
唐僧洗头爱飘柔95275 小时前
(Go Gin)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
后端·golang·go·restful·gin·goweb开发
是发财不是旺财20 小时前
跟着deepseek学golang--认识golang
开发语言·后端·golang
我的golang之路果然有问题20 小时前
快速上手GO的net/http包,个人学习笔记
笔记·后端·学习·http·golang·go·net
草海桐1 天前
go 的 net 包
网络·golang·net
Xiaoyu Wang2 天前
Go协程的调用与原理
开发语言·后端·golang
techdashen2 天前
性能比拼: Go vs Java
java·开发语言·golang
听雨·眠3 天前
go中map和slice非线程安全
java·开发语言·golang
abin在路上3 天前
Golang 版本导致的容器运行时问题
云原生·golang·containerd
{⌐■_■}3 天前
【go】什么是Go语言的GPM模型?工作流程?为什么Go语言中的GMP模型需要有P?
java·开发语言·后端·golang