## FEATURED
[The State of Go in May 2017](https://talks.golang.org/2017/state-of-go-may.slide?utm_source=studygolang&utm_medium=email#1)
Google’s Francesc Campoy gives us an update on where Go is at in mid 2017, mostly focused on stdlib and runtime improvements. Talk video here.
[Language Mechanics on Stacks and Pointers](https://www.goinggo.net/2017/05/language-mechanics-on-stacks-and-pointers.html?utm_source=studygolang&utm_medium=email)
Understanding memory and pointers are key to becoming a solid Go programmer. This post digs into both with easy examples.
[Go 1.8.3 Released (Shortly After 1.8.2)](https://golangweekly.com/link/14552/76512b81a4)
A minor bugfix release with fixes to the compiler, runtime, documentation, and database/sql, plus a security fix to the crypto/elliptic package.
[c2goasm: A C to 'Go Assembly' Conversion Tool](https://blog.minio.io/c2goasm-c-to-go-assembly-bb723d2f777f)
Produces a pure Go solution, meaning there’s no need for a C compiler to be installed for compilation.
[Do Vendored Dependencies Make Go Plugins Less Useful?](https://github.com/akutz/gpd?utm_source=studygolang&utm_medium=email)
Plugins are unlikely to be built against libraries that have been vendored. This repo outlines the issue.
[The X-Files: Exploring the Go Standard Library Sub-Repositories](http://rodaine.com/2017/05/x-files-intro/?utm_source=studygolang&utm_medium=email)
A new series about the /x/* packages focused on looser compatibility requirements than the stdlib. The first post covers rate limiting with /x/time/rate.
[Big Data with Go Instead of MapReduce](https://thinkfaster.co/2017/05/big-data-with-golang-instead-of-mapreduce/?utm_source=studygolang&utm_medium=email)
The trials and tribulations of successfully replacing a large MapReduce cluster with a single machine running a Go application.
[Badger: A High-Perf Key/Value Storage Engine](https://open.dgraph.io/post/badger/?utm_source=studygolang&utm_medium=email)
An embeddable, persistent, simple and fast key-value store, written natively in Go. [GitHub repo.](https://github.com/dgraph-io/badger)
[Alternative Patterns for Method Overloading in Go](https://mymemorysucks.wordpress.com/2017/05/16/alternative-patterns-for-method-overloading-in-go/?utm_source=studygolang&utm_medium=email)
An overview of 3 approaches to deal with Go’s lack of method overloading: a functional way, an OO-style way, and a ‘JavaScript’-esque way. Functional options are also worth considering.
[Why Go Doesn't Use a Generational or Compacting Garbage Collector](https://groups.google.com/forum/?utm_source=studygolang&utm_medium=email#!msg/golang-nuts/KJiyv2mV2pU/wdBUH1mHCAAJ)
A solid response from Ian Lance Taylor on the pros and cons of different garbage collection methods.
[4 Talks from GopherFest 2017](https://www.youtube.com/watch?v=giUatBmmb_Y&utm_source=studygolang&utm_medium=email)
Live streamed from San Francisco a few days ago, the video consists of 4 talks including Francesc Campoy Flores on the state of Go, and Matt Ho on event sourcing.
[How To Install Go Using GVM (Golang Version Manager)](https://www.youtube.com/watch?v=7hFfkOs8gRg&utm_source=studygolang&utm_medium=email)
It was just a matter of time before Go had a version manager. Here’s how to install it.
[Where Does Go's Concurrency (CSP) Fall Short?](https://www.quora.com/Where-does-Gos-concurrency-CSP-fall-short/answer/Sameer-Ajmani?utm_source=studygolang&utm_medium=email)
A look at Go’s concurrency approach as compared to other languages from the manager of the Go team at Google.
[Rewriting Web Analytics Tracking Infrastructure in Go](https://engineering.skroutz.gr/blog/rewriting-web-analytics-tracking-in-go/?utm_source=studygolang&utm_medium=email)
The tale behind replacing a monolithic, Rails-based system with a systemd binary that improved many aspects of performance.
[Godzilla: An ES2015 to Go Source Code Transpiler and Runtime](https://github.com/jingweno/godzilla?utm_source=studygolang&utm_medium=email)
A bit of an opposite to GopherJS.
## IN BRIEF
[GoBooks: A List of 31 Different Go Books](https://github.com/dariubs/GoBooks?utm_source=studygolang&utm_medium=email)
Some paid, some free - with brief summaries of each.
[Integration Tests for a Go CLI Application](http://lucapette.me/writing-integration-tests-for-a-go-cli-application?utm_source=studygolang&utm_medium=email)
An interesting way to test a Go application using table-driven tests, Golden Files, and a Makefile.
[Controlling a Digispark Board using Gobot and LittleWire](https://appliedgo.net/digispark/?utm_source=studygolang&utm_medium=email)
[What is SQL Injection and How Do We Avoid It in Go?](https://www.calhoun.io/what-is-sql-injection-and-how-do-i-avoid-it-in-go/?utm_source=studygolang&utm_medium=email)
[Debugging Go Core Dumps](https://rakyll.org/coredumps/?utm_source=studygolang&utm_medium=email)
A way to get a core dump from your running Go process and use Delve for debugging. Linux only.
[Long-Running Go Applications with Large Memory Needs](https://hackernoon.com/go-and-a-not-tiny-amount-of-memory-a7a9430d4d22?utm_source=studygolang&utm_medium=email)
An attempt to replace BoltDB with straight RAM by using “unsafe” packages and syscalls for a long-running Go application.
[Using Go for Data Science](https://www.youtube.com/watch?v=PqK68Jnvkiw&utm_source=studygolang&utm_medium=email)
[c2go: A Tool for Converting C to Go](https://github.com/elliotchance/c2go?utm_source=golangweekly&utm_medium=email)
Early days, but now supports dynamic memory alloc with malloc/calloc - a key step forward.
[go-grpc-middleware: GRPC Middleware Helpers](https://github.com/grpc-ecosystem/go-grpc-middleware?utm_source=studygolang&utm_medium=email)
[Metaflector: Higher-level Reflection Capabilities for Inspecting Objects & Structs](https://github.com/gigawattio/metaflector?utm_source=studygolang&utm_medium=email)
[MemGuard: Pure Go Library That Handles Sensitive Values in Memory](https://github.com/libeclipse/memguard?utm_source=studygolang&utm_medium=email)
[httpsnoop: Capture HTTP Related Metrics from http.Handlers](https://github.com/felixge/httpsnoop?utm_source=studygolang&utm_medium=email)
[pinhole: A 3D Wireframe Drawing Library for Go](https://github.com/tidwall/pinhole?utm_source=studygolang&utm_medium=email)
[S2: A Cartesian, Circle, and Spherical Geometry Library](https://github.com/golang/geo?utm_source=studygolang&utm_medium=email)
An ongoing port of the C++ S2 library.
[Gogland EAP 8 Available: A Promising New Go IDE](https://blog.jetbrains.com/go/2017/05/12/gogland-eap-8-is-available/?utm_source=studygolang&utm_medium=email)
[Get Tighter Go Integration with Komodo IDE](https://www.activestate.com/blog/2017/05/get-tighter-go-integration-komodo-ide?utm_source=studygolang&utm_medium=email)
Release 10.2.2 brings syntax highlighting, code completion, and more.
[Understanding Middleware in Go](https://lanreadelowo.com/blog/2017/04/25/go-middleware/?utm_source=studygolang&utm_medium=email)
[Another Introduction to Pointers in Go](https://golangbot.com/pointers/?utm_source=studygolang&utm_medium=email)
[Mastering Go Programming: Slices](https://www.youtube.com/watch?v=fhdA-6LcOxk&utm_source=studygolang&utm_medium=email)
A practical guide to slices in Go that covers the basics along with some memory management tips.
[How Go’s Type System Differs from Java](https://jaxenter.com/go-typing-system-java-oop-133912.html?utm_source=studygolang&utm_medium=email)
From the perspective of a Java developer.
[On Package Names for Tests](https://lanreadelowo.com/blog/2017/05/17/on-package-naming-for-tests/?utm_source=studygolang&utm_medium=email)
Should you keep your tests in the same package as your code or in a _test package?
[Toxiproxy: A Framework for Simulating Network Conditions](https://github.com/Shopify/toxiproxy?utm_source=studygolang&utm_medium=email)
A TCP proxy to simulate network conditions for chaos and resiliency testing.
[Go-rquad: Algorithms for Region Quadtrees](https://github.com/aurelien-rainone/go-rquad?utm_source=studygolang&utm_medium=email)
And neighbor finding algorithms/techniques.
[Goldfish: A HashiCorp Vault UI Panel](https://github.com/Caiyeon/goldfish?utm_source=studygolang&utm_medium=email)
A Go app that leans on Vue.js for the frontend.
[Goka: A Stream Processing Library for Apache Kafka](https://github.com/lovoo/goka?utm_source=studygolang&utm_medium=email)
[A Source Code Editor Written in Pure Go](https://github.com/jmigpin/editor?utm_source=studygolang&utm_medium=email)
[cronsun: A Distributed Cron-Style Job System](https://github.com/shunfei/cronsun?utm_source=studygolang&utm_medium=email)
Note: The documentation is in Chinese.
[GJSON: Quickly Grab Values from a JSON Document](https://github.com/tidwall/gjson?utm_source=studygolang&utm_medium=email)
[fsql: Search Your Filesystem Using SQL-esque Queries](https://github.com/kshvmdn/fsql?utm_source=studygolang&utm_medium=email)
有疑问加站长微信联系(非本文作者)