Go编程规范

2023-09-21 20:37:28


注释

// 单行注释

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

转义符

在这里插入图片描述

定义变量

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

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

var 变量名 变量类型

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

func main() {
	var i int
	i = 6
	fmt.Println("i=", i)
}

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

var j = 7
fmt.Println("j=", j)

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

k := 8
fmt.Println("k=", k)

全局变量和局部变量

// 声明多个全局变量
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查看变量

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

常量

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

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 语句块中的行索引)

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

定义函数

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

多行书写

用逗号分行

func main() {
	fmt.Println("aaaaaaaaaaaaaa",
		"bbbbbbbbbb",
		"cccccccccc")
}

在这里插入图片描述

参考

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

更多推荐

JVM-环境准备&性能指标&基础知识

环境准备&性能指标&基础知识环境准备JDK—工具JDK(JavaDevelopmentKit)是用于开发Java应用程序的软件开发工具集合,包括了Java运行时的环境(JRE)、解释器(Java)、编译器(javac)、Java归档(jar)、文档生成器(Javadoc)等工具。简单的说我们要开发Java程序,就需要安

YOLOv8快速复现 训练 SCB-Dataset3-S 官网版本 ultralytics

目录0相关资料SCB-Dataset3-S数据训练yaml文件YOLOv8训练SCB-Dataset3-S相关参数0相关资料YOLOV8环境安装教程.:https://www.bilibili.com/video/BV1dG4y1c7dH/YOLOV8保姆级教学视频:https://www.bilibili.com/v

【R语言】完美解决devtools安装GitHub包失败的问题(以gwasglue为例)

Rstudio,R4.3.1,命令在Rstudio的命令行即console中运行。文章目录一、问题复述二、分析三、解决四、安装示例:gwasglue一、问题复述使用devtools安装一个github的包。devtools:devtools是R语言中一个非常有用的包,它提供了一套工具和函数,用于开发、测试和维护R包,d

Jenkins自动化部署前后端分离项目 (svn + Springboot + Vue + maven)有图详解

1.准备工作本文的前后端分离项目,技术框架是:Springboot+Vue+Maven+SVN+Redis+Mysql+Nginx+JDK所以首先需要安装以下:在腾讯云服务器OpenCLoudOS系统中安装jdk(有图详解)在腾讯云服务器OpenCLoudOS系统中安装mysql(有图详解)在腾讯云服务器OpenCLo

Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)

1、系统架构(以Standalone会话模式为例)1、作业管理器(JobManager)JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用都应该被唯一的JobManager所控制执行。JobManager又包含三个不同的组件(1)JobMasterJobMaste

性能测试、负载测试、压力测试、稳定性测试简单区分

是一个总称,可细分为性能测试、负载测试、压力测试、稳定性测试。性能测试以系统设计初期规划的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能瓶颈。关键词提取理解有性能指标,验证性能测试目标验证系统的性能指标,是否为初期规划的预期目标客户指定相关性能指标,有性能相关要求,测试以这些指标为参

2022年贵州省职业院校技能大赛(高职组)“软件测试”赛项竞赛规程

2022年贵州省职业院校技能大赛(高职组)“软件测试”赛项竞赛规程一、赛项名称赛项名称:软件测试赛项组别:高职组赛项归属产业:电子信息二、竞赛目的(一)检验教学成效本赛项竞赛内容以《国家职业教育改革实施方案》为设计方针,以电子信息产业发展的人才需求为依据,以软件测试岗位真实工作过程为载体,全面检验高等职业院校人才培养方

由电阻电容采购引发的思考

BOM表,五花八门谁的锅,我的看法,设计原理图工程师的锅;成本太高,降成本谁的锅,设计工程师有一定责任,比如说22uf080525V就比同规格06031206等便宜采购物料品种怎么每次都不一样,维护成本高谁的锅,硬件主管的锅,没有维护好硬件库每次打板整理物料,核对物料那个痛苦啊!!!!!!自己做吧,太费时间!!!!!!

python+vue+elementui舞蹈教学视频评分系统_o4o1y

该系统从三个对象:由管理员、裁判员和用户来对系统进行设计构建。主要功能包括首页,个人中心,裁判员管理,用户管理,视频分类管理,健美操管理,评分管理,系统管理等功能进行管理。本系统在一般健美操评分系统的基础上增加了健美操资讯的功能,方便用户快速浏览,是一个高效的、动态的、交互友好的健美操评分系统。管理员端的功能主要是开放

短视频源码php

对于php短视频源码而言,视频质量与用户使用体验息息相关,高质量的视频观感更有利于留下用户。但实际上视频质量很容易受到各种因素的影响,接下来我们分析一下php短视频源码中导致视频出现异常的各种原因吧。所谓短视频源码的原生开发,是指在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开

java spring cloud 企业工程管理系统源码+二次开发+定制化服务

鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统1.项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的要求。二、企业通过

热文推荐