Golang Learning Materials

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed. This section of the information is from: http://www.zhihu.com/question/23486344-"Go Programming Basics" Unknwon/go-fundamental-programming GitHub
-"Go Web Basics" Unknwon/go-web-foundation GitHub
-"Go name library" Unknwon/go-rock-libraries-showcases GitHub

1 / http golang.org/doc/
Mainly see a tour of Go How to write Go code , effective Go
2 familiar with package, Godoc
Package:strconv, Net/http, Net/url, string, math, time
3 exercises, Project Eular. Every time you learn a new language, you can do it again.
About-project Euler
4 Language Features:
Select, channel, defer, goroutine, static type (int, int64, type conversion), closure, package organization
5 reflect
/ http blog.golang.org/laws-of -reflection
6 read the source code of open source software, NSQ, Martini and so on.
7 use Go to do a project.


Author: Mr Tang
Links: http://www.zhihu.com/question/23486344/answer/24805683
Source: Know
Copyright belongs to the author, please contact the author for authorization.

Getting Started crossing net of tutorial good, full 74 pages / http tour.golang.org/# 1
Then look at the various links in this page, the recommended order:
/ http golang.org/doc/code.htm L
/ http Golang.org/doc/effectiv e_go.html
/ http Golang.org/doc/faq
/ http Golang.org/doc/cmd
/ http Blog.golang.org/gos-dec Laration-syntax
/ http Blog.golang.org/go-conc Urrency-patterns-timing-out-and
/ http talks.golang.org/2012/c oncurrency.slide#1
/ http talks.golang.org/2013/a dvconc.slide#1
/ http blog.golang.org/error-h andling-and-go
/ http blog.golang.org/gobs-of -data
/ http blog.golang.org/laws-of -reflection
/ http Blog.golang.org/profili Ng-go-programs
/ http BLOG.GOLANG.ORG/C-GO-CG o
Pack documentation, it's going to go through. / http golang.org/pkg/


I suggest you look first: / http go-tour-zh.appspot.com/# 1
Look at the example one by one, slowly change the example, then run it, make sure you understand each line of code given in the tutorial, as well as the explanatory text.
And then to see: UNKNWON/THE-WAY-TO-GO_ZH_CN GitHub
Then you can use go to do the actual project ~
Author: Asta Xie
Links: http://www.zhihu.com/question/23486344/answer/24770195
Source: Know
Copyright belongs to the author, please contact the author for authorization.

I think learning a language is the most important thing is to do three, first look at the basic knowledge, the second study copy code, the third study write code

1th, many people feel that come up to write, but your basic things are not mastered, how to write it? Make haste, so the basic things must be mastered first. Here are a few basic introductory materials to recommend:
    • / http tour.golang.org/# 1
    • The MIKESPOOK/LEARNING-GO-ZH-CN of Sansing translation GitHub
    • Go by Example
I think you can begin to copy the code after you have mastered these basics, and if you have previous experience in PHP development, then maybe I wrote this book to help you understand Golang. https:// Github.com/astaxie/buil D-web-application-with-golang

2nd, we often start to write code are no idea, also do not know, but we can imitate others to write code, the Shanghai proverb often said, "Eat big, with big, eliminate big", we are "see Code, copy code, and finally write code." Here are a few entry-level code to see how to learn:
    • Web.go-quickstart is very simple, is to learn how his routes are implemented, how to write their own routes
    • Icub3d/home Road GitHub This is a go+ ANGULARJS implementation, see How to Do API application
Finally, I listed you can refer to the implementation of some of the functions, I originally trained our fight Tiger class students are using these to study together.
    • Log analysis
    • IP Library Analysis
    • Manage Background View analysis log
3rd, write their own code, this time is already have a certain understanding of Golang, then we can start to do their own projects, do the project most want is rapid development, then I recommend you
    • https:// Github.com/astaxie/beeg o Use the Beego framework to develop your Web or API applications very quickly
    • Homepage-docker:the Linux container engine uses Docker for virtualization
    • Skynetservices/skynet GitHub Learning Distributed
    • Coreos/etcd GitHub Distributed applications

This stage is to find all kinds of things with Golang to write, write more will understand more and more deeply.



cs.cmu.edu/~dga/15-440/ s14/index.html
This is the CMU Distributed System course, which corresponds to four course projects, all of which require go implementation. The project has a complete description and unit test procedures. The Lord can do it


Python went to go, studied for about 2 months, and wrote about 2500 lines of Game server framework (Skycrab/cham GitHub ), does not contain the test code, and does not contain the business logic code. The main learning https:// Github.com/cloudwu/skyn et
Writes, mainly realizes the Golang Actor model, the service message sends, the message processing, the timer realization, the broadcast realization, the log module, the WebSocket realization, the Gate module, the debug service implementation, but also has some basic library, such as the LRU algorithm, 300 lines of simple orm (curd), sensitive word filtering, and a @xjdrew from the https:// github.com/xjdrew/lua-z Set The migrated Go version sorted set is implemented. So I think what you lack is a start, start writing code, researching code, reading code, refactoring, repeating.
You are doing PHP, suggest starting from the Web, from @asta Xie Astaxie/beego GitHub Start up, use Beego to do a small application, first don't think how good, how graceful, first to function to achieve the main. From the job, then a familiar feeling filled my heart, self-confidence quietly, quack golang little kiss just. Note that self-confidence is important, self-confidence is important, really important, important words to say 3 times.
Confidence came, the code also wrote, during the debt owed also should be. What, owe the debt, you don't scare me, I have no money. Haha, of course, is owed Golang debt, the early you play someone else, very cool confident also come, people of course to rely on you, yes, is to the depth of the time to communicate. This time you need to take a serious look at the project used in the standard library implementation principles, framework implementation principles, Learning Code mode, Golang principle, can read skycrab/go-internals GitHub 。 This is the same as love, in-depth communication you know, she will this, but also can, haha, get new skills. Of course this stage is painful, remember not a brain has been studied, or will bring you into the abyss can not pull out. This and love, you struggle with the seven aunt, ex-boyfriend, ex-girlfriend, someone else can give you face just strange.


Novice encounters 50 Go language pits: Shades of go:traps, gotchas, and Common mistakes for New Golang Devs , inside a lot of pits, I also learn the process encountered, to avoid these 50 pits, can save most of the time during compilation, do not say, pits went first if there is the basis of C, recommended "go by Example ", based on code, easy to understand, no nonsense. Spend a weekend, and you'll soon be able to start writing the go code yourself.

You can then look at the founders ' blogs, such as the Research!rsc:go Data structures:interfaces To deepen the understanding of the internal mechanisms of the go language. It is better to make up for concurrency related knowledge (such as spin locks, mutex locks, etc.), although not necessarily used, but know the future debugging code can save a lot of time.

Read the Go Programming Language specification when you are free , I think this can be regarded as the most understandable several language specification.


yinwang.org/blog-cn/201 4/04/18/golang/

You need to see this "comprehensive evaluation of Go language"--Wang Yin


Go Language Quick start manual. Go


Recommended Learning materials:
Qyuhen/book GitHub
The rain marks are very well written.
You can start with its first version, which includes the Language Foundation and the standard library interpretation.
There is no basic library explanation for the fourth edition. I think his plan is:
Fifth edition
Book: Language Basics
Middle Book: Standard library
Book: Source Code Analysis


Go programming Blueprints -If you don't know what to do with Go

The Go programming Language -Language Basics

The basics of Go language programming, I recommend a: Go language first lesson

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.