Skip to main content

Memulai belajar membangun web dengan Golang dan Gin Framework

Setup Golang Environtment di Ubuntu

Pertama kita siapkan dulu komputer kita supaya memiliki env yang dapat menjalankan dan mengkompilasi kode Golang dengan menggunakan tutorial ini Installing and Using Golang on Ubuntu 20.04 and VSCode

Hapus Versi Go Sebelumnya (Bila Ada)

Jika anda  telah menginstal golang versi sebelumnya, atau Anda tidak yakin, jalankan perintah berikut untuk menghapus golang versi apa pun yang sebelumnya ada di sistem Anda.

sudo apt remove golang
sudo apt autoremove

Selanjutnya kita akan menginstal golang di lokasi yang direkomendasikan oleh dokumen resmi golang, yaitu di /usr/local/go.

Download Go Versi Terbaru

Jadi pertama-tama kunjungi situs webnya dan unduh versi terbaru di https://golang.org/dl/.

Catatan: Jangan menginstal melalui apt di Ubuntu, karena apt menginstal paket di lokasi yang salah dan merupakan versi yang lama.

Selanjutnya, masuk ke folder lokasi download tersebut, dan ekstrak file tarball (tar.gz).

cd /Download
sudo tar -xvf go1.15.6.linux-amd64.tar.gz (atau sesuai dengan versi yang anda download)

Dan kemudian pindahkan direktori go tersebut lokasi yang disarankan.

sudo mv go /usr/local

Hasilnya adalah sebagai berikut:

Lokasi go berada.

Update System Variables

Beri tahu sistem tentang keberadaan golang pada os dengan menambahkannya ke system PATH global.

sudo echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc

Atau bila menggunakan zsh seperti saya maka menjadi seperti ini.

sudo echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc

Perintah diatas akan menbambahkan line berikut di .bashrc/.zshrc.

export PATH=$PATH:/usr/local/go/bin

Lengkapnya, milik saya adalah sebagai berikut.

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOPATH=/home/kucing/work
export PATH=$PATH:/usr/local/go/bin

Restart terminal dan lihat hasilnya sebagai berikut.



GOPATH

Jika pada bahasa pemrograman lain, kita mungkin terbiasa menempatkan kode sumber di mana pun.

Go tools mengharuskan kita menaruh kode pada lokasi tertentu.

GOPATH adalah folder untuk ruang kerja (workspace) dan berisi folder-folder berikut:

  • src - lokasi file sumber: .go, .c, .g, .s
  • pkg - lokasi paket yang dikompilasi (file .a)
  • bin - lokasi executable yang dibangun oleh Go

Go akan mencari packages (libraries) ke direktori GOPATH.

Perintah go get  mengunduh packages ke direktori pkg di GOPATH.

GOBIN

Direktori tempat binari go yang kita eksekusi berada.

GOROOT

Ini adalah lokasi instalasi Go berada. Ini digunakan untuk menemukan library standar/bawaan.

Variabel ini tidak wajib diset karena Go menyematkan jalur build ke dalam toolchain. Menyetel GOROOT diperlukan jika direktori penginstalan berbeda dengan direktori build.

Penjelasan

Ketika melakukan import, Go tools mencari packages didalam direktory $GOROOT and $GOPATH/src.  

$GOPATH juga disebut sebagai direktori kerja (workspace) untuk programs Go. Source code Go kita ada disini. Maka, Ketika kita meng-import sebuah package, Go akan mencari package tersebut ke dalam direktori src yang berada di dalam gopath.

Lihat go env untuk daftar lengkap variabel.



Sampai sini laptop kita sudah memiliki Go terinstall dengan baik dan siap melakukan development.

Setup Gin di Ubuntu

go get -u github.com/gin-gonic/gin


Buat Hello World


vim hello.go

package main

import "github.com/gin-gonic/gin"

func main() {
        r := gin.Default()
        r.GET("/hello", func(c *gin.Context) {
                c.JSON(200, gin.H{
                        "message": "hello world!",
                })
        })
        r.Run(":8088") // listen and serve on 0.0.0.0:8088
}


Jalankan Hello World

Running di console.

Hasil di Browser.




Referensi

https://medium.com/@kaigo/installing-golang-on-ubuntu-20-04-68137ea931

https://essential-go.programming-books.io/gopath-goroot-gobin-d6da4b8481f94757bae43be1fdfa9e73

https://blog.learngoprogramming.com/what-are-goroot-and-gopath-1231b084723f


Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....