Learning

Mulai Belajar Golang & Buat Unit Test

Bahasa pemrograman yang satu ini sudah sangat cukup populer di kalangan Software Engineer terkhusus pada Backend. Golang adalah bahasa pemrograman yang diperkenalkan ke publik oleh Google pada tahun 2009 dan sangat berkembang hingga pada saat tulisan ini dipublikasikan.

Keunggulan Golang

Berikut mengapa Golang menjadi pilihan untuk di-implementasikan di Industri Digital saat ini:

  1. Mudah untuk dipelajarin ( Struktur & Syntax yang sederhana untuk dipahamin)
  2. Proses kompilasi yang cepat
  3. Mendukung untuk mengotomatisasi proses
  4. Support Concurrency (GoRoutine) Mirip dengan Small Thread namun sangat ringan dan eksekusinya dijalankan di multi core processor.

Mulai menggunakan Golang

Apakah Anda pemula di Golang, berikut dokumentasi yang dapat membantu Anda belajar Golang. Cek disini. Berikut contoh program sederha di dengan beberapa function seperti HelloWorld, Hitung Luas Persegi Pajang dan Keliling Persegi Panjang lengkap dengan unit test masing-masing.

package main

import "fmt"

func main() {
 fmt.Println("Hello World")
}

Untuk Running program diatas dapat dilakukan dengan menjalankan command

go run .

Create Function

Buat 2 contoh fungsi untuk menghitung luas dan keliling persegi panjang yang nantinya kita akan buatkan masing-masing unit testnya.

package main

import "fmt"

func luas(panjang, lebar float64) float64 {
 return panjang * lebar
}
func keliling(panjang, lebar float64) float64 {
 return (2 * panjang) + (2 * lebar)
}
func greet(nama string) {
 fmt.Println("Hi ", nama)
}
func main() {
 fmt.Println("Hellloworld")
 greet("Jhon Doe")
 fmt.Println("Luas :", luas(5, 4))
 fmt.Println("Keliling :", keliling(5, 4))
}

Keterangan:
main() adalah blok kode utama
func area adalah nama fungsi area

func luas(panjang, lebar float64) float64 {
 return panjang * lebar
}

panjang & lebar adalah parameter bertipe integer dan tipe return integer setelah tanda ) pada function, jika tidak memiliki return tidak perlu memuat tipe data returned. Contoh seperti dibawah ini

func greet(nama string) {
 fmt.Println("Hi ", nama)
}

Jalankan kembali program diatas dengan execute go run .

Buat Unit Test Program Golang

Kali ini akan dibahas untuk membuat unit test dari program diatas. Aturan penamaan file test dari Golang adalah dengan menambahkan prefix _test pada file, misalkan kita memiliki file main.go maka untuk file testnya dinamakan dengan main_test.go, mari kita lihat unit test untuk program diatas pada kode berikut

package main

import "testing"

var (
 luasExpected      float64 = 45
 kelilingExpeceted float64 = 28
)

func TestLuasFunction(t *testing.T) {
 if luas(5, 9) != luasExpected {
  t.Errorf("SALAH!")
 }
}
func TestKelilingFunction(t *testing.T) {
 if keliling(5, 9) != kelilingExpeceted {
  t.Errorf("SALAH!")
 }
}


Run Test diatas dengan command berikut go test atau dengan go test -v untuk melihat detail dari test yang dieksekusi.

Keterangan:
Import “testing” adalah package dari Go yang kita implementasikan pada unit test ini, Anda dapat menggunakan package testing yang lain seperti testify dll.
Selanjutnya kita akan masuk ke tutorial membangun Rest API dan membangun masing-masing unit testnya.

Development Team

Share
Published by
Development Team
Tags: golang

Recent Posts

Revolutionizing Business : How ChatGPT is Accelerating Your Business

Hi there, ChatGPT is very familiar and become the hottest technology generation now a days.…

2 years ago

Design Patterns: Essential Techniques for Writing High-Quality Code

When it comes to writing code, there are a lot of factors to consider. You…

2 years ago

Must Know ES6 Features for Modern Javascript Development

ES6, also known as ECMAScript 2015, is a major update to the JavaScript language that…

2 years ago

How CI/CD Improve Agility of Software Development

In today's fast-paced business environment, the ability to quickly respond to changing market conditions and…

2 years ago

Layered Architecture

Sangat umum dijumpai bahwa developer tidak menggunakan arsitektur formal, tanpa arsitektur yang jelas dan terdefinisi…

3 years ago

Trend Pengembangan Android tahun 2022

Keunggulan development team adalah yang selalu update terhadap perkembangan teknologi, trend pengembangan terbaru dan pada…

3 years ago