Memahami Penulisan Variabel Bahasa Pemrograman Golang

Pendahuluan

Selamat pagi sahabat cerita, pada kesempatan ini kita akan melanjutkan pembahasan dasar bahasa pemrograman Golang. Pada pembahasan sebelumnya kita telah membahas bagaimana cara penulisan komentar pada bahasa pemrograman golang. Jika anda belum membacanya, silahkan anda baca tertebih dahulu.


Baiklah, jika anda sudah membacanya, saatnya kita lanjut ke tahapan berikutnya, Yaitu Memahami Penulisan Variabel Bahasa Pemrograman Golang. Yuk langsung simak saja pembahasan singkat berikut ini.

1. Variabel

Dalam bahasa pemrograman golang, terdapat dua jenis penulisan variabel, yaitu yang dituliskan tipe datanya, dan juga tidak perlu menuliskan tipe datanya. Kedua cara tersebut tujuannya sama saja, yang membedakan hanya penulisannya saja.

Pada pembahasan ini, kita akan mengupas tuntas tentang macam-macam cara deklarasi variabel

a. Deklarasi Variabel dan Tipe Data
Go memiliki aturan yang cukup ketat dalam hal penulisan variabel. ketika kita melakukan deklarasi, tipe data yang digunakan harus dituliskan juga. Istilah lainnya dari konsep ini adalah manifest typing

Berikut ini adalah contoh dalam pembuatan variabel yang tipe datanya harus dituliskan. Silahakan anda buat project baru dengan nama yang anda sukai. Pastikan setiap anda membuat project baru untuk tidak lupa inisialisasi project menggunakan command go mod init <nama project>

Contoh 1
package main

import (
    "fmt"
)

func main() {
    var namaDepan string = "Aldi"

    var namaBelakang string = "Syaputra"

    fmt.Printf("Halo %s %s!\n", namaDepan, namaBelakang)
}

Keyword var diawal digunakan untuk deklarasi variabel, contohnya bisa anda lihat dibagian namaDepan dan namaBelakang. Pada contoh diatas kita langsung mengisi data variabel saar melakukan deklarasi

Contoh 2
package main

import (
    "fmt"
)

func main() {
    var namaDepan string
    namaDepan = "Aldi"

    var namaBelakang string
    namaBelakang= "Syaputra"

    fmt.Printf("Halo %s %s!\n", namaDepan, namaBelakang)
}

Berbeda dengan conthoh yang kedua ini, kita melakukan pengisian data setelah baris kode deklarasi, Hal seperti ini diperbolehkan pada Go.

b. Deklarasi Variabel Menggunakan keyword Var

Pada contoh kode diatas kita bisa melihat bagaimana sebuah variabel dideklarasikan dan diisi nilainya. Keyword var digunakan untuk membuat variabel baru.
Skema penggunaan variabel var:

var <nama-variabel) <tipe-data>
var <nama-variabel> <tipe-data> = <nilai>

contoh:
var namaBelakang string
var namaDepan string = "Aldi"

Nilai variabel bisa di-isi langsung pada saat deklarasi variabel.

Penggunaan Fungsi fmt.Printf()
Fungsi ini digunakan untuk menampilkan output dalam bentuk tertentu. Kegunaannya sama seperti fungsi fmt.println() , hanya saja struktur ouputnyadidefenisikan diawal.

Sekarang coba anda perhatikan "halo %s %s! \n" , karakter %s disitu akan digantikan dengan data string yang berada di parameter ke-2, ke-3 dan seterusnya.

Contoh lain, ketiga baris kode berikut ini akan menghasilkan output yang sama, meskipun cara penulisannya berbeda.

package main

import (
    "fmt"
)

func main() {

fmt.Printf("halo aldi syaputra!\n")
fmt.Printf("halo %s %s!\n", namaDepan, namaBelakang)
fmt.Println("halo", namaDepan, namaBelakang+ "!")
}

Tanda plus (+) jika ditempatkan di antara string, fungsinya adalah untuk penggabungan string atau string concatenation.

Fungsi fmt.Printf() tidak menghasilkan baris baru di akhir text, oleh karena itu digunakanlah literal newline yaitu \n, untuk memunculkan baris baru di akhir. Hal ini sangat berbeda jika dibandingkan dengan fungsi fmt.Println() yang secara otomatis menghasilkan new line (baris baru) di akhir.

'c. Deklarasi Variabel Tanpa Tipe Data

Selain manifest typing, Go juga mengadopsi konsep type inference yang sama seperti python, yaitu metode deklarasi variabel yang tipe data-nya ditentukan oleh tipe data nilainya, cara kontradiktif jika dibandingkan dengan cara pertama. Dengan metode jenis ini, keyword var dan tipe data tidak perlu ditulis.

package main

import (
    "fmt"
)

func main() {
    var namaDepan string = "aldi"
    namaBelakang := "syaputra"

    fmt.Printf("halo %s %s!\n", namaDepan, namaBelakang)
}


Variabel namaBelakang dideklarasikan dengan menggunakan metode type inference. Penandanya tipe data tidak dituliskan pada saat deklarasi. Pada penggunaan metode ini, operand = harus diganti dengan := dan keyword var dihilangkan.

Tipe data namaBelakang secara otomatis akan ditentukan menyesuaikan value atau nilai-nya. Jika nilainya adalah berupa string maka tipe data variabel adalah string. Pada contoh di atas, nilainya adalah string "syaputra".

Diperbolehkan untuk tetap menggunakan keyword var pada saat deklarasi meskipun tanpa menuliskan tipe data, dengan ketentuan tidak menggunakan tanda :=, melainkan tetap menggunakan =. 

package main

import (
    "fmt"
)

func main() {
    // menggunakan var, tanpa tipe data, menggunakan perantara "="
    var namaDepan string = "aldi"
    namaBelakang := "syaputra"

    // tanpa var, tanpa tipe data, menggunakan perantara ":="
    fmt.Printf("halo %s %s!\n", namaDepan, namaBelakang)
}


Kedua deklarasi di atas maksudnya sama. Silakan anda pilih yang nyaman di hati dan mudah menurut anda.

Tanda := hanya digunakan sekali di awal pada saat deklarasi. Untuk assignment nilai selanjutnya harus menggunakan tanda =, contoh:

package main

import (
    "fmt"
)

func main() {
    namaBelakang := "syaputra"
    namaBelakang = "ulina"
    namaBelakang = "malik"

    fmt.Printf("Halo %s %s %s \n", namaBelakang)
}


Perlu diketahui, deklarasi menggunakan := hanya bisa dilakukan di dalam blok fungsi.

d. Deklarasi Multi Variabel

Satu hal lagi yang perlu anda ketahui, Go mendukung metode deklarasi banyak variabel secara bersamaan, caranya dengan menuliskan variabel-variabel-nya dengan pembatas tanda koma (,). Untuk pengisian nilainya-pun diperbolehkan secara bersamaan.

package main

import (
    "fmt"
)

func main() {
    var satu, dua, tiga, empat string
    satu, dua, tiga, empat = "satu", "dua", "tiga", "empat"

    fmt.Println(satu, dua, tiga, empat)
}


Pengisian nilai juga bisa dilakukan bersamaan pada saat deklarasi. Caranya dengan menuliskan nilai masing-masing variabel berurutan sesuai variabelnya dengan pembatas koma (,).

package main

import (
    "fmt"
)

func main() {
    var lima, enam, tuju string = "lima", "enam", "tuju"

    fmt.Println(lima,enam,tuju)
}


Dengan menggunakan teknik type inference, deklarasi multi variabel bisa dilakukan untuk variabel-variabel yang tipe data satu sama lainnya berbeda.

package main

import (
    "fmt"
)

func main() {
    satu, jumat, duakomadua, kata := 1, true, 2.2, "hello"

    fmt.Println(satu, jumat, duakomadua, kata)
}

e. Variabel Underscore (_)

Perlu anda ketahui bahwa Go memiliki aturan unik yang jarang dimiliki bahasa lain, yaitu tidak boleh ada satupun variabel yang menganggur. Artinya, semua variabel yang dideklarasikan harus digunakan. Jika ada variabel yang tidak digunakan tapi dideklarasikan, error akan muncul pada saat kompilasi dan program tidak akan bisa di-run.

Underscore (_) adalah reserved variable yang bisa dimanfaatkan untuk menampung nilai yang tidak dipakai. Bisa dibilang variabel ini merupakan keranjang sampah.

package main

import (
    "fmt"
)

func main() {
    _ = "belajar Golang"
    _ = "Golang itu mudah"
    nama, _ := "aldi", "syaputra"

   
}


Pada contoh di atas, variabel nama akan berisikan text aldi, sedang nilai syaputra ditampung oleh variabel underscore, menandakan bahwa nilai tersebut tidak akan digunakan.

Variabel underscore adalah predefined, jadi tidak perlu menggunakan := untuk pengisian nilai, cukup dengan = saja. Namun khusus untuk pengisian nilai multi variabel yang dilakukan dengan metode type inference, boleh di dalamnya terdapat variabel underscore.

Biasanya variabel underscore sering dimanfaatkan untuk menampung nilai balik fungsi yang tidak digunakan.

Perlu diketahui, bahwa isi variabel underscore tidak dapat ditampilkan. Data yang sudah masuk variabel tersebut akan hilang. perlu anda ingat mulai hari ini, objek apapun yang masuk ke dalamn underscore, akan terjebak selamanya di-dalam singularity dan tidak akan bisa keluar.

f. Deklarasi Variabel Menggunakan Keyword New

Keyword new digunakan untuk membuat variabel pointer dengan tipe data tertentu. Nilai data default-nya akan menyesuaikan tipe datanya.

package main

import (
    "fmt"
)

func main() {
    nama := new(string)

    fmt.Println(nama)  // 0xc000052250
    fmt.Println(*nama) // ""
}


Variabel nama menampung data bertipe pointer string. Jika ditampilkan yang muncul bukanlah nilainya melainkan alamat memori nilai tersebut (dalam bentuk notasi heksadesimal). Untuk menampilkan nilai aslinya, variabel tersebut perlu di-dereference terlebih dahulu, menggunakan tanda asterisk (*).

Untuk pembahasan lebih lengkap tentang pointer, nantinya akan kita bahas pada chapter selanjutnya.

g. Deklarasi Variabel Menggunakan Keyword Make

Keyword ini hanya bisa digunakan untuk pembuatan beberapa jenis variabel saja, yaitu:
  • channel
  • slice
  • map
Mungkin banyak yang akan bingung. Ketika sudah masuk ke pembahasan masing-masing poin tersebut, akan terlihat apa kegunaan dari keyword make ini.


Nah, jadi itulah pembahasan kita mengenai variabel pada bahasa pemrograman Golang ini. Semoga pembahasan ini bermanfaat untuk anda dan teman-teman anda. Jika anda memilki pertanyaan silahkan ajukan pertanyaan anda di kolom komentar.




Posting Komentar untuk "Memahami Penulisan Variabel Bahasa Pemrograman Golang"