Go 程序开发的注意事项
Go 程序开发的注意事项
1) Go 源文件以 "go" 为扩展名。
2) Go 应用程序的执行入口是 main()函数。 这个是和其它编程语言(比如 java/c)
3) Go 语言严格区分大小写。
4) Go 方法由一条条语句构成,每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体现出 Golang 的简洁性。
5) Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
6) go 语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过。
7) 大括号都是成对出现的,缺一不可。
8) 通过 go run xxx.go直接运行go代码
9) 编译后再运行 go build xxx.go, ./xxx
Go 语言的转义字符(escape char)
说明:常用的转义字符有如下:
1) \t : 表示一个制表符,通常使用它可以排版。
2) \n :换行符
3) \\ :一个\
4) \" :一个" 5) \r :一个回车 fmt.Println("天龙八部雪山飞狐\r 张飞");(表示从当前行最前面把天龙替换成张飞)
注释(comment)
介绍注释
用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性;
注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。
在 Golang 中注释有两种形式
1) 行注释
? 基本语法
// 注释内容
2) 块注释(多行注释)
? 基本语法
/*
注释内容
*/
使用细节
1) 对于行注释和块注释,被注释的文字,不会被 Go 编译器执行。
2) 块注释里面不允许有块注释嵌套 [注意一下]
规范的代码风格
正确的注释和注释风格:
1) Go 官方推荐使用行注释来注释整个方法和语句。
2) 带看 Go 源码
正确的缩进和空白
1) 使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift+tab 整体向左移
2) 或者使用 gofmt 来进行格式化
3) 运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
4) Go 语言的代码风格. package main
package main
import "fmt"
func main() {
fmt.Println("hello,world!")
}
上面的写法是正确的. package main
import "fmt"
func main()
{
fmt.Println("hello,world!")
}
上面的写法不是正确,Go 语言不允许这样编写。 【Go 语言不允许这样写,是错误的!】
Go 设计者思想: 一个问题尽量只有一个解决方法
5) 一行最长不超过 80 个字符,超过的请使用换行展示,尽量保持格式优雅
Go 程序开发的注意事项的更多相关文章
- x64位windows上程序开发的注意事项
在Windows上面32位与64位的区别有: 1.指针大小的区别,sizeof(int *)在32bit下面是4个字节,在64bit下面是8个字节 2.size_t的区别,size_t在32bit下面 ...
- 微信小程序开发——开发者工具中素材管理功能使用的注意事项
为什么使用“素材管理”: 微信小程序环境中本地资源图片是无法通过 WXSS 获取的,可以使用网络图片,或者 base64,或者使用<image/>标签.. 当然,如果不想这么麻烦,你可能会 ...
- 微信小程序开发注意事项(优化项)
最近公司有一个小程序开发项目,自己也自学了不少,有一些开发小心得,记录在这里. 小程序开发中注意: 1,setData 小程序视图层和逻辑层在两个独立的模块,并不具备数据直接传递的,setData相当 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。附:网友制作的类库说明(CHM)
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- Freemarker 程序开发
Freemarker 程序开发 现在web开发中,多使用freemarker 来描述页面.通常会使用的macro来定义各种组件,从而达到UI组件的复用.结合使用其它的指定,可快速的描述一个html页面 ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
随机推荐
- HTTP/2的优先级
前言 记得HTTP/3即将标准化了.今日早读文章由@smallbonelu翻译授权分享. @smallbonelu,一枚爱好跑步的前端工程师 正文从这开始-- 以正确的顺序请求页面资源对于快速的用户体 ...
- react-native run-android出现红屏错误
react-native run-android出现 unable to load script from assets 'index.android.bundle'.Make sure your b ...
- HTML ASCII 参考手册
HTML 和 XHTML 用标准的 7 比特 ASCII 代码在网络上传输数据. 7 比特 ASCII 代码可提供 128 个不同的字符值. 7 比特 可显示的 ASCII 代码 结果 描述 实体编号 ...
- Sophus安装时Eigen库更新版本的问题
原文链接:https://blog.csdn.net/m0_38055352/article/details/102900516
- (转)微信,QQ这类IM app怎么做——谈谈Websocket
转:http://www.cocoachina.com/ios/20160527/16482.html 前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕 ...
- selenium之 文件上传所有方法整理总结
本文转载“灰蓝”的原创博客.http://blog.csdn.net/huilan_same/article/details/52439546 文件上传是所有UI自动化测试都要面对的一个头疼问题,今天 ...
- linux下vim编辑器查找 关键字
在 linux vim 编辑器 下查找 关键字 方法[一] 1?short_open_tag : 它的意思是vim 打开文件的第一行 ? : 它的意思是反向查找 short_open_tag ...
- ajax请求是的动画实现
ajax请求是的动画实现 ajax是基于XMLHttpRequest对象封装,ajax的具体属性就有: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type S ...
- 解决spring boot中普通类中使用service为null 的方法
我使用的是springboot+mybatisplus +mysql1.创建一个SpringUtil工具类 import org.springframework.beans.BeansExceptio ...
- elasticsearch中TermQuery查不到数据问题
在java rest client中调用elasticsearch中的数据,精准匹配的termQuery查不到数据,这个问题是java rest client客户端自带的bug,换用matchPhra ...