Go by Example 通过例子学Golang - GitHub
文章推薦指數: 80 %
Go by Example 通过例子学Golang. Contribute to gobyexample-cn/gobyexample development by creating an account on GitHub.
Skiptocontent
{{message}}
gobyexample-cn
/
gobyexample
Public
Notifications
Star
1.3k
Fork
242
GobyExample通过例子学Golang
gobyexample-cn.github.io/
Viewlicense
1.3k
stars
242
forks
Star
Notifications
Code
Issues
2
Pullrequests
1
Actions
Projects
0
Wiki
Security
Insights
More
Code
Issues
Pullrequests
Actions
Projects
Wiki
Security
Insights
master
Branches
Tags
Couldnotloadbranches
Nothingtoshow
Loading
{{refName}}
default
Couldnotloadtags
Nothingtoshow
{{refName}}
default
Loading
3
branches
0
tags
Code
Loading
Latestcommit
Gitstats
1,060
commits
Files
Permalink
Failedtoloadlatestcommitinformation.
Type
Name
Latestcommitmessage
Committime
.github/workflows
examples
jetbrains-logo
templates
tools
vendor/pygments
.env
.gitignore
.godir
LICENSE
PROGRESS.md
README.md
examples.txt
firebase.json
go.mod
go.sum
Viewcode
GobyExample中文版
综述
构建
发布
许可协议
其他语言
致谢
贡献说明
构建说明
中文版的致谢
README.md
GobyExample中文版
GobyExample是一个通过带注释的示例程序学习Go语言的网站。
网站包含了从简单的HelloWorld到高级特性Goroutine、Channel等一系列示例程序,并附带了注释说明,非常适合Go语言初学者。
如果您想学习Go语言基础知识,不要犹豫,请直接前往GobyExample开始学习!
如果您觉得本项目还不错的话,记得回来给个Star哦o( ̄▽ ̄)ブ
综述
如果你想了解GobyExample网站是如何构建的,或者想为该项目贡献代码,请查看下面的内容:
本项目包含了网站的内容和构建工具链,网站使用的是public目录下静态文件(html等文件)的内容。
它是这样被构建出来的:通过程序提取examples目录下的源码及注释,并使用templates目录下的静态文件模板将其渲染为静态文件,最终将生成的静态文件输出到public目录下。
实现此构建过程的程序位于tools目录下,其相关的依赖库被放在了vendor目录下。
构建得到的public目录下的静态文件(html等文件),可以部署到任何支持静态内容的系统。
例如S3、CloudFront以及任何Web服务器。
构建
若想自行构建该网站,你需要安装Go和Python。
然后运行下面的命令:
$gogetgithub.com/russross/blackfriday
$tools/build
$openpublic/index.html
如果你使用了GOMOD,直接执行下面的命令即可:
$tools/build
$openpublic/index.html
若想实时渲染,请使用持续构建:
$tools/build-loop
发布
下面的例子展示了如何将网站上传至AWS:
$geminstallaws-sdk
$exportAWS_ACCESS_KEY_ID=...
$exportAWS_SECRET_ACCESS_KEY=...
$tools/upload
许可协议
该项目的著作权归MarkMcGranaghan所有,并遵循CCBY-SA3.0协议。
GoGopher的版权归RenéeFrench所有,并遵循CCBY-SA3.0协议。
其他语言
本项目只是mmcgrana的GobyExample项目的中文翻译。
除中文版外,该项目还有以下语言:
Englishbymmcgrana/gobyexample(原版)
Czechbymartinkunc
Frenchbykeirua
ItalianbytheGoItaliancommunity
Japanesebyspinute
Koreanbymingrammer
Russianbybadkaktus
SpanishbytheGoMexicocommunity
Ukrainianbybutuzov
致谢
感谢JeremyAshkenas的Docco,启发了这个项目。
贡献说明
从这部分开始,后面的内容都是中文版的贡献者们给自己加的戏。
好吧,其实前面的内容也加了很多戏,没有完全根据英文版翻译。
如果你发现中文版的例子没有及时与英文版同步,或者你觉得某个例子翻译得不够好,甚至只是一个错误的文字、单词或符号,我们都非常欢迎你能够提交pullrequest以帮助我们使项目更完善,贡献流程大致如下:
Fork该仓库。
在examples目录下找到想要修改的例子,完成修改,这通常是以例子(也就是一个目录)为单位进行修改,当然,你可以一次性修改多个例子。
需要注意的是:只修改.go和.sh文件。
.hash文件是tools/build自动更新的,主要用于判断文件内容是否有改动;
使用tools/build命令重新生成静态文件。
这一步会格式化代码,并判断内容是否有改动。
对于内容有改动的例子,会自动将该例子的代码提交至http://play.golang.org/进行测试,这一步可能需要克服网络障碍(实在无法解决也没关系,只更新内容即可,剩下的交给我们)。
通过测试后,会自动更新静态文件;
tools/serve本地预览效果;
通过自测后即可提交pullrequest:)
项目现由gobyexample-cn维护,例子已完全与英文版同步(截止2020-01-20),均为75个,可以在这里查看同步进度。
后续可能会出现与英文版同步不及时的情况,非常欢迎各位同学fork并提交pullrequest。
构建说明
原版的英文项目使用vendor解决依赖,中文版可以使用GOMOD解决依赖。
注意:依赖库blackfriday的2.x.x版本目前与项目不兼容,只能使用1.x.x版本,项目的go.mod文件已正确配置,同学们不要随意修改。
直接执行tools/build等命令即可。
中文版的致谢
感谢本翻译项目的原作者everyx,完成了所有文件最初的翻译,同时也感谢项目每一位贡献者的辛勤付出。
JetBrains公司为本项目提供了freeJetBrainsOpenSourcelicense(s),在此表示感谢。
About
GobyExample通过例子学Golang
gobyexample-cn.github.io/
Topics
go
golang
tutorial
book
gobyexample
Resources
Readme
License
Viewlicense
Releases
Noreleasespublished
Packages0
Nopackagespublished
Contributors58
+47contributors
Languages
Go
47.5%
CSS
33.7%
Shell
9.4%
Ruby
5.9%
HTML
3.5%
Youcan’tperformthatactionatthistime.
Yousignedinwithanothertaborwindow.Reloadtorefreshyoursession.
Yousignedoutinanothertaborwindow.Reloadtorefreshyoursession.
延伸文章資訊
- 1spinute/go-by-example: ウェブサイト「サンプルで ... - GitHub
ウェブサイト「サンプルで学ぶ Go 言語」のソースコード. Contribute to spinute/go-by-example development by creating an acco...
- 2Go by Example - GitHub
Go by Example https://gobyexample.com. Contribute to gabrielelana/go-by-example development by cr...
- 3Go by Example - GitHub
Learning golang via https://gobyexample.com/. Contribute to Stivaros/go-by-example development by...
- 4Gauthamjm007/go-by-example: A bunch of programs on Golang
A bunch of programs on Golang. Contribute to Gauthamjm007/go-by-example development by creating a...
- 5golanglt/gobyexample - GitHub
Go by Example - lt (gobyexample.lt). Lithuanian translation for Go by Example, a site that teache...