Pengenalan Bahasa Go

Go dalam bahasa inggris memiliki arti “Pergi”, namun bukan itu yang dimaksud ya.

Pada tulisan kali ini akan membahas pengantar bahasa pemrograman Go atau akrab juga di panggil “Golang” (panggilan tak resmi).

Apa Itu Go

Logo Go

Go merupakan bahasa pemrograman serba-guna (General-purpose), bertipe statis, multi-paradigma dan dapat berjalan di mayoritas sistem operasi (Linux, MacOs dan Windows).

Go memiliki tata tulis seperti Javascript dan bahasa C, selain itu tujuan Go dibuat untuk membuat basis kode (codebase) yang ditulis dengan Go mudah dirawat.

Berikut perbandingan kode C , Javascript dan Go

  • C

      #include <stdio.h>
      int main()
      {
          char s[] = "Hello, World";
          puts(s);
      }
  • Javascript

      var s = "Hello, World"
      console.log(s)
  • Go

      package main
    
      import "fmt"
    
      func main(){
          var s = "Hello, World"
          fmt.Println(s)
      }

Terkesan bersebrangan dari prinsip mudah dengan memiliki baris kode yang lebih panjang. Tinjauan mudah dirawat bukan terletak di seberapa banyak baris kode tetapi kenyamanan kita dalam membacanya.

Tingkat sistem

Go memiliki kemampuan untuk mengakses keperlu tingkat sistem seperti threads, socket langsung di tulis dari Go.

Konkurensi

Go dapat mengatur berjalan dua atau lebih instruksi secara bersamaan, Go memiliki fitur goroutine dan channel untuk penangganan konkurensi.

Perkakas bawaan

Go memiliki perkakas lengkap ketika kita meng-install-nya, sepert go mod,go get, gofmt dan lainya.

Kapan pakai Go ?

Hasil lansiran di blog resmi Go, Go banyak digunakan untuk berikut:

Kasus guna Go

Saya biasa menggunakan Go untuk membuat bagian penyedia REST API (API service) dengan framework Fiber dan perkakas terminal (CLI App) menggunakan pustaka Cobra.

Sekilas Go

Bagian ini menampilkan sekilas membuat konsep dasar pemrograman menggunakan Go

  • Variable

      var nama = "HACHAAMA" // tanpa tipe data
      var umur : int = 21  // dengan tipe data
      hidup := true // dengan walrus operator
  • Record

      type Orang struct{
          Nama string 
          // hurup kapital membuat 
          // field menjadi publik
          umur int
      }
  • Koleksi

     var koleksi = [1,2,4,5]
  • Iterasi

      for _,elemen := range [1,3,4] {
          fmt.Println(elemen)
      }
  • Fungsi

    func x(y int,z int) int {
        return y+z
    }
    x(1,2) // 3

Referensi