Recommendations for learning Go through projects.

polaris · · 557 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I have 2-3 years experience in Python and would like to pick up the Go lang. I do not have much knowledge about pointers and concurrency. I have completed the Tour of Go and didn&#39;t face many difficulties until Maps. How do I learn more about the internals of Go while building some projects? What would be some good resources for a project-driven Go learning method? Suggestions for books, videos, blogs etc are welcomed.</p> <hr/>**评论:**<br/><br/>NeverUse-YouPromised: <pre><p>Find a Python program or script you love and translate it, line-by-line, into Go. In my case, it was <a href="http://nbviewer.jupyter.org/url/norvig.com/ipython/xkcd1313-part2.ipynb" rel="nofollow">this program</a>. That program includes regular expressions, set operations, object-oriented programming, intricacies on the details of pass-by-value, list comprehensions...it forced me right into the Go way of thinking.</p></pre>dchapes: <pre><blockquote> <p>line-by-line</p> </blockquote> <p>IMO it&#39;s not a good idea to translate programs this way. You end up with a Python program shoe-horned into Go instead of a Go program. Different languages have different idioms and ways of doing things and ideally you should translate between those idioms which is a much higher level than &#34;line-by-line&#34;.</p></pre>Neurotic_Goose: <pre><p>I started learning by using the Cobra library to build a little CLI tool. They make it super easy to get up and running.</p> <p><a href="https://github.com/spf13/cobra" rel="nofollow">https://github.com/spf13/cobra</a></p></pre>thewhitetulip: <pre><p>It really depends as to what you are planning to learn, writing cli apps/webapp/ML/AI etc</p> <p>I would recommend taking a look around what tools you require and aren&#39;t existing yet. For instance, I use an android phone with termux terminal, and I wanted a good todo list manager which&#39;ll sync up with my machine, so I wrote one in Go, I use the cli in termux which then syncs with syncthing. Thus, I have a small app which I use in day to day life.</p> <p>I also wrote a todo list manager (<a href="https://github.com/thewhitetulip/Tasks" rel="nofollow">https://github.com/thewhitetulip/Tasks</a>) when I was learning webdev, then I wrote this (<a href="https://github.com/thewhitetulip/Tasks-vue" rel="nofollow">https://github.com/thewhitetulip/Tasks-vue</a>) when I was learning the VueJS.</p> <p>The key is to build something <em>you</em> use, and if it is really a timesaver, then you can show it to others and they&#39;d use it too.</p> <p>I wrote a small guide , <a href="https://github.com/thewhitetulip/web-dev-golang-anti-textbook/" rel="nofollow">https://github.com/thewhitetulip/web-dev-golang-anti-textbook/</a>, it aims to teach how to write webapps to total newcomers to web development.</p> <p>There is a quote attributed to Einstein, &#34;you haven&#39;t really understood a topic until you can explain it to your grandmother&#34;, what I learned in my journey is that you&#39;ll learn faster if you teach others.</p> <p>All the best!</p></pre>yaourtSS: <pre><p>Hi! Do you know something about Go usage in cryptography? I found one but now it&#39;s too hard for me because I&#39;m a beginner in this language. I&#39;m not really into webdev, but I love cli tools and crypto. Can you also recommend some books/guides/repos related to the topic described above, please? Thank in advance! </p></pre>thewhitetulip: <pre><p>I am not totally sure as to what you mean by Go usage in cryptography, what is it that you exactly want to do. Please forgive my naivety, I have not worked in cryptography.</p> <p>What is it that you want to build? Do you want to break crypto algo or do you want to build them?</p> <p>Make sure you read <a href="https://awesome-go.com" rel="nofollow">https://awesome-go.com</a> it has the largest collection of libraries. Do let me know if you need any other help :)</p></pre>whizack: <pre><p><a href="https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw" rel="nofollow">Just for Func</a> is a pretty solid intro.</p></pre>

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

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