Basic Golang
Bab ini membahas dasar-dasar pemrograman golang
Installasi
Anda dapat membaca dokumentasi instalasi golang
Membuat Projek Baru
Buat folder baru untuk memulai project
go mod init golang-latihan
Buat file main.go yang berisi kode berikut
Jalankan
go run main.go
package main
func main(){
println("Hello World")
}Fundamental
Package
Setiap program GO terdiri paket-paket.
Program mulai berjalan dari paket utama (main package).
Dalam satu project hanya boleh ada satu package main
Selain paket main, nama paket harus sama dengan nama folder.
Type
Go is a statically typed programming language
Setiap variabel, konstanta dan lain-lain memiliki type
tipe dasar :
Ada tipe turunan seperti array, slice, map, interface, struct, dan function
Konstanta
Variabel
Siklus hidup variabel
Pengoptimalan penggunaan memori dalam siklus hidup variabel
Jika ingin membuat variabel global dalam satu paket, sebaiknya pertimbangkan kembali, karena siklus hidupnya ada di seluruh kode dalam paket tersebut
Untuk menghemat memori, deklarasikan variabel sesuai dengan kebutuhan siklus hidupnya
Package, Export dan Import
Semua type, var, const, func dalam suatu paket yang sama bisa dipanggil di manapun (meskipun berbeda file)
Untuk bisa dipanggil di paket lain, type, var, const, func harus diexport terlebih dahulu
Cara export dilakukan dengan memberi nama var, type, const, fungsi dll yang diawali dengan huruf besar
Jika suatu paket ingin menggunakan kode dari paket lainnya, harus mengimport terlebih dahulu
Type Casting
Untuk mengubah suatu tipe menjadi tipe lain, bisa melalui fungsi bawaan golang maupun menggunakan paket strconv.
Lebih jauh tentang strconv bisa melihat langsung ke paket strconv
Pointer
Function
fungsi juga merupakan sebuah tipe
Format fungsi : func NAMA (argument type) type_return
Variadic Function
Merupakan fungsi dengan jumlah argumen yang dinamis.
Bisa dipanggil dengan cara biasa dengan argumen individual
Bisa dipanggil secara dinamis dengan melempar argumen slice...
Flow Control
if
switch
for
defer
Perintah defer menunda eksekusi dari sebuah fungsi sampai fungsi yang melingkupinya selesai.
Argumen untuk pemanggilan defer dievaluasi langsung, tapi pemanggilan fungsi tidak dieksekusi sampai fungsi yang melingkupinya selesai.
Jika ada tumpukan perintah defer, maka akan dieksekusi secara LIFO (last In First Out)
Array, Slice dan Map
Array
Slice
Merupakan potongan dari sebuah array
Map
kalau di PHP ini seperti assosiatif array.
index otomatis disort secara alpabet
Common Operation
mengunakan potongan array (slice) sehingga tidak dideklarasikan kapasitasnya
untuk menambahkan anggota dengan menggunakan fungsi append
Last updated
Was this helpful?