Belajar Go Yuk!

Muhammad Rienaldi
CirebonDev
Published in
7 min readNov 28, 2018

post pertama kali di https://cirebondev.github.io/2018/03/10/Belajar-GO-Yuk/

Berikut ini adalah rekapan KULGRAM#6 pada tanggal 10 Maret 2018 oleh Muhammad Rienaldi. Full Stack Developer at Communic 8 Agency.

Assalamu’alaikum warahmatullahi wabarakatuh.

Selamat malam semua, sebelum masuk ke kulgram kali ini, perkenankan saya memperkenalkan diri dulu
saya Muhammad Rienaldi, bisa panggil Aldi atau Rei bebas :D saya kerja di salah satu agency di Jakarta Timur sebagai Full-Stack Developer. selain bekerja di Agency saat ini juga sedang mencoba mendirikan sebuah location-based laundry service startup bersama beberapa teman namanya Marlo, saat ini sedang tahap ideation dan penyusunan MVP minta do’anya supaya cepet rilis :D

Sebenernya saya belum begitu lama juga pake Go baru sekitar 3–4 bulan terakhir coding Go, karena di agency saya sendiri banyaknya legacy project yg menggunakan PHP. jadi kalo ada salah2 mohon di maafkan ya :D

1. Instalasi Go

Untuk menginstall Go teman — teman boleh buka https://golang.org/dl/, lalu download sesuai dengan OS yang dipakai masing — masing
kalau yang pake Mac mungkin bisa langsung menggunakan perintah brew ya.

Setelah installasi tadi berhasil selanjutnya adalah mensetup GOPATH kedalam sistem variabel kita
buat yang pake Linux:

$ echo “export PATH=$PATH:/usr/local/go/bin” >> ~/.bashrc
$ source ~/.bashrc

buat yang pake MacOS:

$ echo “export PATH=$PATH:/usr/local/go/bin” >> ~/.bash_profile
$ source ~/.bash_profile

Untuk pengguna windows boleh ikuti langkah — langkah berikut:

Explorer -> Klik kanan “My Computer” / “This PC” -> Properties -> “Advanced System Settings” -> “Environment Variables”

GOPATH variable di Windows

jika instalasi nya berhasil ketika kita ketikan “go” di terminal / command line kita maka akan muncul seperti berikut:

Oke kalo sudah berhasil. Selanjutnya adalah tempat untuk ngoding Go nya ya
kalo saya sendiri pake Visual Studio Code (https://code.visualstudio.com/).

Sebenarnya ada Goland dari JetBrains tapi itu berbayar :D
tapi kalo teman — teman biasa pake Sublime Text atau Notepad++ juga gapapa yang penting code kita ada highlight warna nya aja biar engga pusing.

2. Hello World!

Ritual wajib pertama pas kita belajar pemrograman adalah belajar bikin “Hello World”. Bener gk?
selain bikin Hello World saya juga akan bahas struktur code dari si Golang ini sendiri
kuy mari kita mulai bikin Hello World
silahkan temen — temen bisa ketikan code ini di text editor masing — masing :

Jika berhasil maka hasilnya akan seperti ini:

3. Struktur Code

Yuk kita bahas struktur codenya:

Pertama apa sih “package main” itu…

package main artinya kita mendeklarasikan package kita sebagai main (utama)

Package sendiri pengertian nya adalah “collection of common source code file” atau kalau di bahasa indonesia kira — kira sekumpulan file source code.

Package dalam Go sendiri terbagi menjadi 2 tipe yaitu:

  • Executeable
  • Reuseable

Executeable package adalah package yang bisa di jalankan (run).
Reuseable package adalah package yang berfungsi sebagai library / dependencies.

Gimana cara membedakan package itu Executeable atau Reuseable?
Executeable dalam Golang pasti dan ekslusif hanya untuk package yang bernama “main”, selain package yang bernama “main” Go akan menganggap package itu sebagai reuseable package.

kalo bingung yuk kita cobain
source code tadi kita rubah nama packagenya jadi “coba”:

setelah itu kita go run main.go
maka hasilnya adalah “cannot run non-main package”

Selanjutnya kita bahas “import”…

Dalam code yang tadi kita tulis, kita menuliskan:

import “fmt”

apa sih artinya:
import ya sesuai dengan namanya yaitu mengimport (memasukan) fungsi dari package lain ke code kita

fmt sendiri adalah package bawaan dari Go, mungkin kependekan dari ForMaT

untuk list package bawaan dari Go teman — teman bisa lihat di : https://golang.org/pkg/

import sendiri bisa dilakukan dengan banyak package, contoh:

Lalu selanjutnya kita menuliskan

func main()

apasih func?
func sendiri dalam Go adalah cara untuk mendeklarasikan function / method
sama seperti function2 dalam PHP, Java, Python dll
function di Go juga bisa menggunakan parameter

function yang akan di running ketika kite men-run “go run” adalah function main
sama seperti java yang di run juga kan function main nya
oke lanjut kita bahas gimana cara mendeklarasikan variabel di Go
ada 3 cara untuk membuat variabel di go

4. Variabel

cara pertama adalah kita langsung mengetikan var (nama variabel) = (value)

Go akan otomatis men set tipe datanya sama seperti php

cara kedua adalah dengan mendeklarasikan tipe datanya
var (nama variabel) (tipe data) = (value)

cara ketiga langsung straight forward ya
(nama variabel) := (values)

dia kayak shorthand cara pertama kalo kataku
setelah tadi kita bahas variabel, sekarang kita bahas sodaranya yaitu konstanta
cara mendeklarasikan konstanta sendiri ada 2 di Golang

5. Konstanta

cara pertama yaitu dengan langsung:
const (nama konstanta) = (value)

kalo cara kedua kita deklarasiin dulu tipe datanya
const (nama konstanta) (tipe data) = (value)

selanjutnya mari kita mulai masuk ke conditional (if, switch)

6. Control Flow

buat temen — temen yang udah paham bgt coding java atau PHP atau C mungkin gk akan kaget sama gimana cara membuat kondisional if dan switch di Go

sama kan dengan PHP atau Java
mirip lah ya
nah kalo switch nya kayak gini

bedanya dia engga pake break;

untuk perulangan di Go setauku cuman ada For aja
karena di tour of Gonya juga begitu
https://tour.golang.org/flowcontrol/3
code For loop di Golang adalah seperti ini:

selanjutnya mari kita bahas mengenai Arrays, Slice dan Map

7. Array, Slice & Map

untuk pendeklarasian array di Go sendiri sama seperti di bahasa bahasa pemrograman lain nya menggunakan variabel lalu di ikuti dengan []
contoh:

atau

untuk mengabil salah satu index dari array juga sama menggunakan (nama variable)[(nomor index)]

untuk menset index array juga sama menggunakan: (nama variable)[(nomor index)] = (value baru)

untuk menghitung jumlah data yang terdapat dalam 1 array kita bisa menggunakan function len()
cara penggunaan nya len([nama array yang akan dihitung])
contoh

hebatnya kita bisa langsung print semua array tapi harus loop

hasilnya:

udah pada pusing belum?
selanjutnya kita bahas tentang slice
slice adalah tipe data key yang ada di Go
biasanya nanti banyak dipakai untuk membuat Model
untuk membuat slice kita bisa menggunakan function make()
misal:
contoh membuat slice:

cara untuk menset value slice adalah:
(nama slice)[(index value)] = (value)
contoh:

index valuenya tidak boleh lebih dari yang sudah kita set pertama ya
kalo lebih akan menghasilkan error

untuk mengambil value berdasarkan index juga sama seperti array
contoh:

ungsi len untuk menghitung banyak data juga bisa di terapkan pada slice

Oke saya rasa untuk kulgram tentang basic Go nya cukup sampai disini dulu. karena waktunya udah 1 setengah jam juga
kalo temen — temen mau belajar bisa kunjugi link — link berikut:
1) https://tour.golang.org/welcome/1
2) https://gobyexample.com/

--

--