Can anyone suggest good source material for learning back-end development using golang?

polaris · 2015-11-02 10:31:09 · 734 次点击    
这是一个分享于 2015-11-02 10:31:09 的资源,其中的信息可能已经有所发展或是发生改变。

I'm new to web development and searching for some good resources.


评论:

ZenSwordArts:

As a good overview of the whole topic of web development (with and without go), have a look at this free book.

It was written by the author of the beego framework. He knows what he is talking about.

from_cork:

I'm one of the senior Go developers at the company I work for. Recently someone asked me to compile decent resources for learning the language. I know you asked specifically for back-end development resources, but since Go is really targeted for server development, I figured I'd share the list I compiled. If you just want to learn http basics, check out the net/http package to get the basics down, and then I'd recommend taking a look at Gin - https://github.com/gin-gonic/gin. Otherwise, I hope you find some of these other resources useful - I believe all of them can help complement back-end development.

Beginning Resources

http://tour.golang.org/ - Golang Tour - Interactive tour and tutorial of golang in a web browser.

http://golang.org/doc/code.html - Teaches you how to use the Go Tools and walks you through writing a small Go package.

https://golang.org/ref/spec - The Go language specification.

http://golang.org/doc/effective_go.html - Details how to write idiomatic Go and provides detailed and in depth information about how to write quality Go code.

http://www.golangbootcamp.com/book/ -The Go Bootcamp Book, everything you need to know to get started with Go, by Matt Aimonetti.

http://golang.org/doc/go_faq.html - The Go language FAQ

https://github.com/golang/go/wiki/Style - The Go style guide

http://gophervids.appspot.com/ - Damian Gryski’s Gophervids is an aggregator for recordings of Go meetups and conferences.

http://www.goinggo.net/ - Going Go Programming by William Kennedy

Go Data Types and Concurrency

http://blog.golang.org/go-slices-usage-and-internals - Covers how to use Slices - Dynamic Arrays - one of Go's three primary datatypes.

https://blog.golang.org/go-maps-in-action - Details how to use Maps - Hashes - the second of Go's three primary datatypes.

https://gobyexample.com/channels - Explains how to use channels - Message Passing between different contexts - the third and last of Go's primary datatypes.

https://www.golang-book.com/books/intro/10 - Explains basic concurrency patterns and the usage of channels in Go.

https://blog.golang.org/context - Covers Contexts in Concurrent patterns.

https://blog.golang.org/advanced-go-concurrency-patterns - A video and set of slides by Rob Pike (One of the primary authors of Go) on Advanced Concurrency Patterns

Structs and Interfaces

https://www.golang-book.com/books/intro/9 - Explains the basics of structs and interfaces.

http://golang.org/pkg/builtin/ - The documentation page for package builtin.

https://github.com/a8m/go-lang-cheat-sheet - Quick reference for Go that is surprisingly detailed.

dgryski:

https://github.com/golang/go/wiki/LearnServerProgramming

IntellectualReserve:

I'll add to the question on this thread.

Can anyone suggest some reading on how to achieve ACID compliance when coordinating transactions across multiple microservices?

dgryski:

Distributed transactions are hard. 2PC is common, but coordination and errors need to be carefully handled. In general this is an active research topic.


入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

734 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传