<p>It seems like the majority of the posts on this sub are about using Go to build technologies related to the web.</p>
<p>I was looking for examples of Go being used to solve problems that do not relate to the web. One big project that comes to mind is <a href="https://www.docker.com/">Docker</a>. Does anyone know of more examples of Go being used outside of web?</p>
<hr/>**评论:**<br/><br/>kostix: <pre><p>To name a few in no particular order:</p>
<ul>
<li><a href="https://www.ubuntu.com/cloud/juju">https://www.ubuntu.com/cloud/juju</a></li>
<li><a href="http://rancher.com">http://rancher.com</a></li>
<li><a href="https://www.cockroachlabs.com/">https://www.cockroachlabs.com/</a></li>
<li><a href="https://istio.io/">https://istio.io/</a></li>
<li><a href="https://upspin.io/">https://upspin.io/</a></li>
<li><a href="https://camlistore.org/">https://camlistore.org/</a></li>
<li><a href="https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/">https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/</a></li>
<li><a href="https://coreos.com">https://coreos.com</a> has
<ul>
<li><a href="https://coreos.com/etcd/">https://coreos.com/etcd/</a></li>
<li><a href="https://coreos.com/rkt/">https://coreos.com/rkt/</a></li>
<li>…and so on.</li>
</ul></li>
<li><a href="https://linuxcontainers.org/lxd/">https://linuxcontainers.org/lxd/</a></li>
<li><a href="https://kubernetes.io/">https://kubernetes.io/</a></li>
<li><a href="https://security.googleblog.com/2017/01/security-through-transparency.html">https://security.googleblog.com/2017/01/security-through-transparency.html</a></li>
<li>…and so on.</li>
</ul>
<p>There's even a virus written in Go :-)
<a href="https://news.drweb.com/show/?i=10140&c=5&lng=en&p=0">https://news.drweb.com/show/?i=10140&c=5&lng=en&p=0</a></p>
<p>So yes, I'm with @natefinch on this: Go unfortunately lacks a robust
universal desktop GUI solution (like Tk) and this severely limits its
adoption for writing desktop stuff (even though extensive bindings
for GTK3 and Qt/QML do exist) but on the server side Go pretty much
kicks asses.</p>
<hr/>
<p>Also note that when you analyze actitity happening on public forums
devoted to software development, there always will be a natural bias
towards the so-called "vocal part of the community" which will get
over-represented in the results: sure, those hardcore folks which are
busy developing high-profile solutions are seldom seen asking
on such forums about which web framework to pick for the next
bedroom project ;-)
And since much education (and self-education) in programming
these days comes through web programming in particular
(and often gets stuck at that phase), that's what you often see
being discussed.</p></pre>dericofilho: <pre><p>Building on an item of this list: upspin.io</p>
<p>Upspin.io is in my opinion one of the most conceptually important projects using Go. I suspect that they do have a hidden goal of testing Go's limits in the process of developing Upspin. Take a look at its error package and how their error package uses empty interfaces to handle a mixed set of parameters.</p>
<p>Also, it is also one of the few, if not the only one, project in Go's ecosystem that's tackling the problem of a fully distributed file system. Take some time to read its cacheserver and its client implementation.</p>
<p>Go also has a solid story on visibility tools. Rakyll's work on gops and the whole pprof and tracing. One of the best I've seen in my somewhat not so extensive experience. </p></pre>natefinch: <pre><p>I think people talk about web dev because a lot of programming in general is making web servers. However, Go's sweet spot is writing servers in general, that might not web servers.</p>
<p>Kubernetes is the biggest and most popular Go project I can think of. It's a cloud orchestration system that manages docker containers.</p>
<p>Juju is a similar project, a bit older, much less popular, still very large.</p>
<p>There's also a ton of CLI tools, like Github's hub cli tool, which are written in go.</p></pre>DeedleFake: <pre><p>Here's <a href="https://www.github.com/DeedleFake/wdte" rel="nofollow">one of my more recent non-web projects</a>. I also threw together a 'script' to sort something yesterday.</p></pre>stefanfransen: <pre><p>The CNC server of Mirai is build with Go.
<a href="https://github.com/jgamblin/Mirai-Source-Code/tree/master/mirai/cnc" rel="nofollow">https://github.com/jgamblin/Mirai-Source-Code/tree/master/mirai/cnc</a></p></pre>Thaxll: <pre><p>All the hashicorp stuff : <a href="https://github.com/hashicorp" rel="nofollow">https://github.com/hashicorp</a></p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传