I'm learning Go, what should I develop to learn the language?

agolangf · · 709 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I already work with programming with Python for research, but I would like to know what should I develop to increase my Golang skills!</p> <hr/>**评论:**<br/><br/>0x4445565A: <pre><p>Honestly it really depends on your programming experience and actual interests. You can find simple CLI programs you like and try to reproduce them without looking at the source. You can try a Go(ha, pun) at using a GUI library. If you wanted to you could even create a web server (ran via Go) that serves up templates and dynamic forms connected to a database to create a little CMS or social type site.</p> <p>Personally I did all of the above when learning Go and I also signed up for HackerRank and started solving CS problems using Go.</p> <p>But no matter what you do the most important thing is that you&#39;re writing in Go.</p></pre>vmesel: <pre><p>I dont have an specific interest, I will probably make everything you said above with Go, so I can learn everything!</p></pre>kris-nova: <pre><p>Socket programming is always fun.. have you tried a chat server? IRC bot? Something puzzling that will improve your low level knowledge?</p></pre>vmesel: <pre><p>IRC Bot is a nice try! I will probably do this! Tnx</p></pre>Sythe2o0: <pre><p>If you&#39;re just looking for things that are relatively unique to go, once you have the syntax down the most I&#39;ve learned was how to form structs well with composition and interfaces, and unfortunately I only learned that by handling events for AIs while building a game engine. Otherwise designing something that used a crap ton of goroutines and channels would be pretty unique. </p></pre>vmesel: <pre><p>I&#39;m looking for general things, more of getting better programming experience on compiled code!</p></pre>itsamemmario: <pre><p>I&#39;ve had a lot of fun making a neural network that plays tic tac toe. It really pushes go&#39;s goroutines to the point where you can start to see the overhead of the context switching between go routines. Having every node of your neural network in it&#39;s own go-routine, listening on it&#39;s input channels, doing it&#39;s calculations, and sending to the next layer on an output channel makes you feel bad-ass!</p></pre>Yojihito: <pre><p>Could you expand that a bit more?</p> <p>What nodes? And what does each node do? What are the layers and the calculations? Is it AI vs AI?</p> <p>Sounds very interesting but I can&#39;t imagine anything tangible in my mind.</p></pre>Sythe2o0: <pre><p><a href="http://www.projecteuler.net" rel="nofollow">www.projecteuler.net</a> is where I first learned to code with compiled code, just using the exercises there. It&#39;s a little different from the more recent coding quiz websites in that it just checks that you know the answer, so there&#39;s no fiddling with making your code match their input or outputs.</p></pre>Yojihito: <pre><p>Project Euler is pure math after a few (20+, maybe 40+) questions after that you can only succeed if you have a scientific background in math .... </p></pre>Sythe2o0: <pre><p>Well, I&#39;ve solved 103 and have no scientific background in math. I wouldn&#39;t say problems until after 100 require it, and then there are references you can find online to help you out. I agree at some point they do become a lot of &#39;do you know this random math sequence&#39; type question, though.</p></pre>weberc2: <pre><p>I&#39;ve found that a static website generator is a good start. It will familiarize you with the standard library, and it&#39;s conceptually simple (just converting markdown to HTML). This will cover file/IO, directory traversal, and templating. You&#39;ll have to use a 3rd party library like <a href="http://github.com/russross/blackfriday" rel="nofollow">http://github.com/russross/blackfriday</a> for the markdown support, which will also introduce you to dependency management. Depending on your prior experience, this might be a bit advanced.</p></pre>FlatWhiteCoffee: <pre><p>I currently work on slack bot that will check your wishlist in steam account and notify you if any of the desired items is on sale. I almost completed it and so far I can say that it was a good choice. Because steam has no proper API, I had to learn how to download and parse external web pages. Because I wanted to have REST interface, I had to learn how go web server works and create proper routing module. Because I need to integrate it with slack, I had to learn how web sockets and goroutines work. </p> <p>*edit: english </p></pre>

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

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