---
title: "How to use Go code in iOS and Android native apps"
publication: "Go Weekly"
issue: 330
published_at: "2020-09-18"
canonical_url: "https://golangweekly.com/issues/330"
---

Plus more Go news and links.       

#330 — September 18, 2020 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/330)   

📣 Quite a few cool bits and pieces in the _Code & Tools_ section at the bottom of this week's issue, so be sure to check it out if you don't usually 😁  

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/x6cd3zc3eux5gnccppeb.jpg)](https://github.blog/2020-09-17-github-cli-1-0-is-now-available/)   

[GitHub CLI 1.0: Take GitHub to the Terminal](https://github.blog/2020-09-17-github-cli-1-0-is-now-available/) — The aim is to reduce context switching and to help you script and create your own workflows all from the terminal. And as a bonus, it’s cross platform and built in Go ([here’s the source](https://github.com/cli/cli)) :-) 

GitHub   

[Debugging Go in Production Using eBPF](https://blog.pixielabs.ai/blog/ebpf-function-tracing/post/) — A somewhat complicated debugging technique showing how to intercept function arguments in userspace in a production application. 

Pixie Labs Inc.   [![\](https://copm.s3.amazonaws.com/96507ee2.png)](https://link.sqreen.com/92TBqw9a) 

[Sqreen: App Security for Golang Web Apps (Free Trial)](https://link.sqreen.com/92TBqw9a) — Deploy Sqreen in under 5 minutes and start protecting your Go web apps against OWASP top 10, reduce false positives and get actionable insights into threats and vulnerabilities. 

Sqreen sponsor   

[go-bluetooth: A Cross-Platform Bluetooth API for Go](https://github.com/tinygo-org/bluetooth#go-bluetooth) — From the folks behind [TinyGo](https://tinygo.org/) comes this cross-platform package for working with Bluetooth Low Energy (BLE) from Go. It can also work on certain microcontrollers via TinyGo itself. 

TinyGo   

[Introducing Pebble: A RocksDB Inspired Key-Value Store Written in Go](https://www.cockroachlabs.com/blog/pebble-rocksdb-kv-store/) — The folks at CockroachDB created Pebble as a RocksDB-compatible replacement for their storage engine. This post explains the why and the how of their process. 

Peter Mattis   

[Go's Major Versioning 'Sucks' (From a Fanboy)](https://qvault.io/2020/09/15/gos-major-version-handling-sucks-from-a-fanboy/) — Go’s versioning policy beyond v1 is taking a bit of flak from some quarters of the community. To be fair, it’s a hard problem, and how we got here is understandable, and Lane concludes that _“Go still has the best toolchain and ecosystem.”_ But intriguingly, the author of last week's [Go Modules have a v2+ Problem](https://donatstudios.com/Go-v2-Modules) post disagrees with much of _this_ one as [he explains on Hacker News.](https://news.ycombinator.com/item?id=24489500) 

Lane Wagner  

💻 Jobs  

[Stream Provides APIs for Building Activity Feeds and Chat](https://getstream.io/careers/job/backend-software-engineer-boulder-remote/) — Stream is looking for a full time Backend Software Engineer to join our development team. If you are interested in becoming a part of what we do, [apply now](https://getstream.io/careers/job/backend-software-engineer-boulder-remote/). 

Stream   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=go) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more. 

X-Team   

[Find Your Next Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. 

Vettery  

📘 Tutorials  

[Doing Cool Stuff With Go’s AST Package](https://t.co/VSRpHEaR6U?amp=1) — `go/ast` is a built-in package that lets you explore syntax tree representations (i.e. ASTs) of Go code. Here’s an introduction to using it. 

Cooper Thompson   

[Writing Multi-Package Analysis Tools for Go](https://eli.thegreenplace.net/2020/writing-multi-package-analysis-tools-for-go/) — Go provides packages to help analyze codebases and glean things like embedded types (structs or interfaces) along with many other insights. 

Eli Bendersky   

[Running Go Code on iOS and Android](https://rogchap.com/2020/09/14/running-go-code-on-ios-and-android/) — Notably this _doesn’t_ use Go Mobile but instead uses Cgo to build libraries that can be imported into normal native mobile projects. 

Roger Chapman   

[Try the Fastest, Most Secure Way to Test and Build Software Today 🚀](https://buildkite.com/signup?pk_campaign=golang_rk_sept_20&pk_source=cp&pk_medium=newsletter) — Buildkite is as fast and enjoyable to use at 500 developers as it is at 10. Self-hosted agents work with all languages. 

Buildkite sponsor   

[The Go Client for Elasticsearch: Configuration and Customization](https://www.elastic.co/blog/the-go-client-for-elasticsearch-configuration-and-customization) — How to configure items such as authentication, service discovery, logging, and retry functionality in your client code. 

Elastic Blog   

[When The Go Garbage Collector Will Panic Over Bad Pointer Values](https://utcc.utoronto.ca/~cks/space/blog/programming/GoGCBadPointerPanics) 

Chris Siebenmann  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/wqvuw2mj0ozyakzqycho.jpg)](https://github.com/lucasepe/modgv)   

[modgv: Convert `go mod graph` Output Into Graphviz Graphs](https://github.com/lucasepe/modgv) — Reads the output of `go mod graph` on stdin and returns DOT language code that you can use to render a graph with Graphviz for graphically visualizing the dependencies of your project. 

Luca Sepe   

[A Database for Every Go REPL on Repl.it](https://blog.repl.it/database) — [Repl.it](https://repl.it/) is an online tool for writing (and even running) code in an in-browser IDE. Now, they’ve added their own key/value store into the mix which is usable from their Go REPL. 

repl.it   

[gopls v0.5.0 Released: Go's Language Server](https://github.com/golang/tools/releases/tag/gopls%2Fv0.5.0) — Go’s official language server (used to provide extra Go-flavored functionality to editors and IDEs) adds some new features, such as extract-to-function and view GC optimization details, along with bug fixes. 

Go Project   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/hxaifhc8gkmgufptjtnu.jpg)](https://github.com/nkanaev/yarr)   

[YARR: Yet Another RSS Reader](https://github.com/nkanaev/yarr) — You definitely need to pronounce YARR like a pirate, in my opinion. Always good to see a desktop application built in Go, too. 

Nazar Kanaev   

[Yaegi 0.9: Yet Another Elegant Go Interpreter](https://github.com/traefik/yaegi) — A Go interpreter to enable Go to be used for scripting within other apps, interactive shells, or for quick prototyping. You can use it as a REPL or embed it into your own apps. 

Traefik   

[Bitmovin Encoder 2020 Roadmap: Dolby Vision & Atmos, VVC and More](https://go.bitmovin.com/encoding-releases-hand-on?utm_source=cooper-go-newsletter-brief-link&utm_medium=paid-newsletter&utm_campaign=ibc-live) 

Bitmovin Inc. sponsor   

[Datatable: A Go In-Memory Table](https://github.com/datasweet/datatable) — Provides a way to manipulate tabular (think spreadsheets) data – inspired by Pandas and R’s data frames. [Dataframe-Go](https://github.com/rocketlaunchr/dataframe-go) and [Gota](https://github.com/go-gota/gota) are other worthwhile projects in this space. 

Datasweet   

[Leaf: A General Purpose Reloader for All Projects](https://github.com/vrongmeal/leaf) — Watches for changes in the working directory and runs the commands of your choice when files update. Built in Go, naturally. 

Vaibhav   

[2048: A Cli Implementation of the 2048 Game in Go](https://github.com/chhabraamit/2048/) 

Amit Chhabra   

[go-immutable-radix 1.3: An Immutable Radix Tree Implementation](https://github.com/hashicorp/go-immutable-radix) 

HashiCorp         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
