April 12, 2019

A Three Step Recipe for using Gomobile

In my earlier post, we saw different ways in which we can use Gomobile. In this post I’ll try illustrating how to incorporate Gomobile into a mobile application using the bind command.


  1. Ensure that you’ve setup Go and Gomobile in your machine

  2. Install NDK (If you are generating a Android library)

Three Step Recipe

Step 1 - Write a Go Package
  1. Create a go package in $GOPATH/src/github.com/$username/gomobile_contact

  2. Create the following files

In the above linked files I’ve made a network request, parsed the response and unmarshalled it into a Contact object and returned the first Contact’s name. This is an example of a simple business logic component that can be written in Go and ported as a library.

Step 2 - Generate libraries

Use the following commands to generate libraries for iOS / Android applications

    gomobile bind --target=ios #ios
    gomobile bind --target=android #android
Step 3 - Import library into Application

Gomobile generates a .aar/jar for Android and .Framework for iOS

Import the packages into your application and call the FetchContactName() method which returns the first contact’s name.

VoilĂ ! You’ve succesfully generated a library using Go and integrated into your application :)

Part 2 of 4 in the Gomobile series.

An Introduction to Gomobile | Gomobile - Caveat Emptor