Resources for learning Go by creating something?

blov · · 628 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I have looked around and found Go by Example and plenty of places to learn the Go syntax. But I am still pretty new at programming and have no formal background. So I like things to be explained in depth so I can fully understand them. I have been learning Python for a while and have learned a ton. I have decided to try learning a few other languages to branch out, Go looks like a natural first step.But I am between Go and Java currently. Mostly because there is more learning material for Java(age). But for some reason I keep getting pulled towards Go. So are there any good resources that teach by building some project? I don&#39;t really care if it&#39;s web dev or anything else. Just something to learn design patterns, why things are done a certain way in Go, and other things like that.</p> <hr/>**评论:**<br/><br/>tlianza: <pre><p>I always have a bunch of ideas for things I&#39;d build if I had more time... seems like it&#39;d be great if there was a place for people to post ideas for projects, and others who are looking for projects to build and learn to meet up. Maybe such a thing exists. In the end, the builder would get to open source something. </p></pre>Cobolock: <pre><p>It&#39;d be a good project to make such a place.</p></pre>BoTuLoX: <pre><p>Damn it, if only I had more time...</p></pre>bear1728: <pre><p>I&#39;ve seen people do this here. I don&#39;t mind people posting questions like this and gophers replying with mini-project ideas, anything that inspires learning and collaboration. However, if someone does have an actual place for this I would be interested to hear about it.</p> <p>And my toy project: a source code line counter. I know lots of these exist, but you could use the go parser and do some more detailed analysis of go code. You could count <code>_test.go</code> files separately, count how many functions are used in examples, how many functions are used in tests (like a simplified go cover), etc.</p></pre>Saul_Enderby: <pre><p>Have a look at Todd McLeod&#39;s course on Udemy, amazing teacher. <a href="https://www.udemy.com/learn-how-to-code/learn/v4/overview" rel="nofollow">https://www.udemy.com/learn-how-to-code/learn/v4/overview</a></p> <p>In addition have a look at Jon Calhoun&#39;s book on web programming with go, <a href="https://gumroad.com/l/web-development-with-go" rel="nofollow">https://gumroad.com/l/web-development-with-go</a> Also check out his website for more content <a href="http://www.calhoun.io" rel="nofollow">http://www.calhoun.io</a></p></pre>DenzelM: <pre><p>I&#39;ve spent a great deal of time thinking about teaching by creating.</p> <p>Would you be interested in a series that teaches you Go by building a production-ready search service (web server, text processing, index creation, distribution/sharding, and front-end) for $12/month? Since I&#39;d be able to work on it full-time, you&#39;d get about 2-3 detailed posts per week (or more) for anywhere from 10 to 12 weeks that teach you Go by building a real-world open-source system from the ground up. And this would be the first of many projects that I&#39;ve been tossing around.</p> <p>If this sounds interesting to you (or anyone), please e-mail me denzel &#39;dot&#39; morris1 &#39;at&#39; that google email service. I mean, if enough people show interest, I&#39;ll start this coming week.</p></pre>caynanvls: <pre><p>You can try <a href="http://exercism.com" rel="nofollow">http://exercism.com</a> There you can do a bunch of small tasks, and each is going to make you learn something from the language. You can also read others people solutions to the same problem. One more thing, for all those problems they give you a set of tests written in Go and your task is to make them pass, in a TDD way.</p></pre>venju: <pre><p>If you want a toy project: write a server to provide sentiment analysis functionality. There are a few sentiment analysis libs and it would be kind of fun, and introduce you to Go&#39;s intended use case.</p></pre>Xeoncross: <pre><p>Go to google and type &#34;site:github.com&#34; or &#34;site:gist.github.com&#34; + &#34;golang simple&#34; + &#34;chat/websocket/channels/crawler&#34;.</p> <p>This pulls up working projects you can start to play with, modify, and pick apart, break, and expand into neat things. Github provides something better than a single tutorial - dozens of projects doing the same thing in a variety of ways so you can learn about pitfalls or benefits of different ways of using Go for the same projects.</p> <p>Does this crawler handle timeouts? Does this mutex based map work as well as a channel based map? Is this websocket library reusing structs? </p></pre>HowIMetYourMothim: <pre><p>If you&#39;d like something a bit fun/silly - there&#39;s a game engine for the terminal (yes, really) called <a href="https://github.com/JoelOtter/termloop" rel="nofollow">Termloop</a>.</p></pre>thisisbeer: <pre><p>I&#39;m currently checking this out. That&#39;s kind of neat. Thank you.</p></pre>netscape101: <pre><p>PM me I can come up with stuff for you to program. Here are some links that might be interesting: <a href="http://bitcoin-class.org/ps/ps1/" rel="nofollow">http://bitcoin-class.org/ps/ps1/</a> <a href="https://jan.newmarch.name/go/" rel="nofollow">https://jan.newmarch.name/go/</a></p> <p>I suggest make a commandline tool. Come up with an idea. What are your interests?</p></pre>

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

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