mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 23:52:31 +08:00
03.5.md
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
该翻译版本已获得原作者(Ivo Balbaert)本人授权,并表示支持开源事业的发展!
|
||||
|
||||
##翻译进度
|
||||
3.4 [构建并运行 Go 程序](eBook/03.4.md)
|
||||
3.5 [格式化代码](eBook/03.5.md)
|
||||
|
||||
##支持本书
|
||||
如果你喜欢本书《Go入门指南》,你可以参与到本书的翻译或纠正工作中来,具体请联系译者,一同完善本书并帮助壮大 Go 语言在国内的学习群体,给大家提供更好的学习资源。
|
||||
|
@@ -1,19 +1,29 @@
|
||||
##啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
|
||||
要不等到 ***2013 年 4 月 20 日*** 再来看看吧~~
|
||||
|
||||
这里还有一些其它的学习资源噢~
|
||||
|
||||
- [《Go编程基础》](https://github.com/Unknwon/go-fundamental-programming):已更新至 [第八课](https://github.com/Unknwon/go-fundamental-programming/blob/master/lecture8/lecture8.md)
|
||||
- [《Go Web编程》](https://github.com/astaxie/build-web-application-with-golang)
|
||||
|
||||
神马?你说你不想学习?那好吧,去逛逛论坛看看行情也行~
|
||||
|
||||
- [Golang中文社区](http://bbs.mygolang.com/forum.php)
|
||||
- [Go语言学习园地](http://studygolang.com/)
|
||||
- [Golang中国](http://golang.tc)
|
||||
|
||||
#3.5 格式化代码
|
||||
Go 开发团队不想要 Go 语言像许多其它语言那样总是在为代码风格而引发无休止的争论,浪费大量宝贵的开发时间,因此他们制作了一个工具:`go fmt`(`gofmt`)。这个工具可以将你的源代码格式化成符合官方统一标准的风格,属于语法风格层面上的小型重构。遵循统一的代码风格是 Go 开发中无可撼动的铁律,因此你必须在编译或提交版本管理系统之前使用 `gofmt` 来格式化你的代码。
|
||||
|
||||
尽管这种做法也存在一些争论,但使用 `gofmt` 后你不再需要自成一套代码风格而是和所有人使用相同的规则。这不仅增强了代码的可读性,而且在接手外部 Go 项目时,可以更快地了解其代码的含义。此外,大多数开发工具也都内置了这一功能。
|
||||
|
||||
Go 对于代码的缩进层级方面使用 tab 还是空格并没有强制规定,一个 tab 可以代表 4 个或 8 个空格。在实际开发中,1 个 tab 应该代表 4 个空格,而在本身的例子当中,每个 tab 代表 8 个空格。至于开发工具方面,一般都是直接使用 tab 而不替换成空格。
|
||||
|
||||
在命令行输入 `gofmt –w program.go` 会格式化该源文件的代码然后将格式化后的代码覆盖原始内容(如果不加参数 `-w` 则只会打印格式化后的结果而不重写文件);`gofmt -w *.go` 会格式化并重写所有 Go 源文件;`gofmt map1` 会格式化并重写 map1 目录及其子目录下的所有 Go 源文件。
|
||||
|
||||
`gofmt` 也可以通过在参数 `-r` 后面加入用双引号括起来的替换规则实现代码的简单重构,规则的格式:`<原始内容> -> <替换内容>`。
|
||||
|
||||
实例:
|
||||
|
||||
gofmt -r “(a) -> a” –w *.go
|
||||
|
||||
上面的代码会将源文件中没有意义的括号去掉。
|
||||
|
||||
gofmt -r “a[n:len(a)] -> a[n:]” –w *.go
|
||||
|
||||
上面的代码会将源文件中多余的 `len(a)` 去掉。( ***译者注:了解 slice 之后就明白这为什么是多余的了*** )
|
||||
|
||||
gofmt –r ‘A.Func1(a,b) -> A.Func2(b,a)’ –w *.go
|
||||
|
||||
上面的代码会将源文件中符合条件的函数的参数调换位置。
|
||||
|
||||
如果想要了解有关 `gofmt` 的更多信息,请访问该页面:[http://golang.org/cmd/gofmt/](http://golang.org/cmd/gofmt/)
|
||||
|
||||
##链接
|
||||
- [目录](directory.md)
|
||||
|
21
eBook/03.6.md
Normal file
21
eBook/03.6.md
Normal file
@@ -0,0 +1,21 @@
|
||||
##啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
|
||||
要不等到 ***2013 年 4 月 22 日*** 再来看看吧~~
|
||||
|
||||
这里还有一些其它的学习资源噢~
|
||||
|
||||
- [《Go编程基础》](https://github.com/Unknwon/go-fundamental-programming):已更新至 [第八课](https://github.com/Unknwon/go-fundamental-programming/blob/master/lecture8/lecture8.md)
|
||||
- [《Go Web编程》](https://github.com/astaxie/build-web-application-with-golang)
|
||||
|
||||
神马?你说你不想学习?那好吧,去逛逛论坛看看行情也行~
|
||||
|
||||
- [Golang中文社区](http://bbs.mygolang.com/forum.php)
|
||||
- [Go语言学习园地](http://studygolang.com/)
|
||||
- [Golang中国](http://golang.tc)
|
||||
|
||||
#3.6 生成代码文档
|
||||
|
||||
|
||||
##链接
|
||||
- [目录](directory.md)
|
||||
- 上一节:[格式化代码](03.5.md)
|
||||
- 下一节:[其它工具](03.7.md)
|
@@ -21,6 +21,7 @@
|
||||
- 3.4 [构建并运行 Go 程序](03.4.md)
|
||||
- 3.5 [格式化代码](03.5.md)
|
||||
- 3.6 [生成代码文档](03.6.md)
|
||||
- 3.7 [其它工具](03.7.md)
|
||||
|
||||
##第二部分:语言的核心结构与技术
|
||||
- 第4章:基本结构和基本数据类型
|
||||
|
Reference in New Issue
Block a user