Selalu ingin mencoba hal - hal yang baru meski penuh resiko dan tantangan yang sulit. "Kain kafan tidak berkantung".

Golang tutorial indonesia – Variable

1
Degananda.com -

Variable

Pada ulasan sebelumnya mengenai golang kita telah mempelari tipe data yang ada pada golang mulai dari number, string dan boolean. Number terdiri dari integer dan float. String dapat kita definisikan dengan menggunakan doublequote ataupun backtick. Terahir boolean yang berguna untuk menyipan nilai true/false(0/1).

Selanjutnya maka kita akan menggunakan tipedata tersebut dan menyimpannya dalam suatu variable. Tentunnya tanpa variable maka program yang kita buat akan sangat rumit. Perlu mekanisme untuk menyimpan data didalam suatu class. Variable adalah suatu besaran yang berguna untuk menyimpan suatu data dan memiliki tipe tertentu. Contohnya variable bertipe integer tidak dapat digunakan untuk menyimpan nilai string.

Aturan variable dalam golang

Terdapat satu aturan yang menurut kami unik pada golang. Kita tidak dapat mendeklarasikan dan mengassign nilai ke suatu variable namun variable tersebut tidak digunakan. Jika kita melakukan hal demikian maka go akan erorr (tidak dapat dijalankan/kompile).

Sehingga saat membuat variable pastikan variable tersebut akan digunakan. Golang terkenal dengan penulisan kode yang sangat sedikit dibandingkan dengan pemrograman lain sehingga hal-hal seperti pendeklarasian variable sangat diperhatikan untuk menjaga jumlah line of code agar tetap minim.

Mendeklarasikan & memberi nilai pada variable

Terdapat berbagai cara untuk mendeklerasikan dan memberikan nilai variable pada golang. Ini mungkin cukup membingunkan namun pada ahir akan dibahas mengenai best practice dalam mendeklerasikan variable yang sudah menjadi “trend” dikalangan programmer go.

Cara 1

Cara pertama mendeklerasikan variable adalah dengan format seperti dibawah ini

var nama_variable tipe_data = value

jika kita terjemahkan format diatas dalam bentuk kode golang maka seperti ini

package main

import (
	"fmt"
)

func main() {

	var nama string = "degananda ferdian"
	fmt.Print(nama)
}

contoh diatas kita mendeklerasikan variable yang bernilai nama , memiliki tipe data string dan bernilai degnanda. Sehingga dengan cara pertama ini terdapat tiga elemen penting yang harus didefinisikan yakni

  1. nama dari variable tersebut
  2. tipe data dari variable tersebut
  3. nilai dari variable tersebut (tidak wajib, dapat dikosongkan jika memang akan di isi di statement selanjutnya).

cara seperti ini cenderung konvensional karena banyak sekali yang harus dituliskan. More code = more line = less performances. Namun, cara seperti ini merupakan cara yang paling manusiawi karena mudah dibaca oleh manusia.

Ingat kita tidak dapat memberikan nilai string ke variable bertipe variable begitu juga sebaliknya

Ini adalah contoh saat kita memberikan nilai(assign variable) yang salah pada suatu variable. Kami merekemendasikan menggunakan IDE karena error akan muncul pada editor meski belum dilakukan kompile/build.

garis merah pada text editor kami (mirosoft visual studio) menandakan bahwa terdapat error pada line 5 karena variable dengan tipe data string diberikan nilai berupa integer.

Cara 2

Jika anda merasa cara pertama terlalu panjang maka cara kedua ini lebih singkat. Cara kedua memiliki format seperti dibawah ini

var nama_variable = nilai

Jika anda pernah memprogram javascript maka cara kedua ini sangat familiar tentunya. Namun meski tipe data tidak dituliskan saat mendeklerasikan variable sebenarnya go memberikan tipedata terhadap variable tersebut dengan cara melihat pada nilai sebelah kanan(nilai dari variable tersbeut) mekanisme seperti ini dinamakan sebagai ommiting yang tidak terdapat pada javascript.

Contohnya adalah kita akan mendeklerasikan tiga buah variable dengan tipe nilai yang berbeda-beda mulai dari integer hingga booealn dan tanpa menuliskan tipe datannya.

package main

import (
	"fmt"
)

func main() {

	var nama = "degananda ferdian"
	var umur = 17
	var hidup = true
	fmt.Print(nama, umur, hidup)
}

tidak terjadi error karena proses ommiting yang dilakukan oleh golang. Cara kedua ini lebih cepat dan lebih sedikit jumlah karakter yang ditulis dibandingkan dengan cara yang pertama karena tidak perlu menuliskan tipe data. Namun lebih susah difahami oleh manusia karena tidak terdapat tipe datannya (harus berfikir baru dapat menentukan tipe data dari suatu nilai).

Cara 3

Jika anda masih merasa cara kedua terlalu panjang maka golang mengabulkan permintaan anda karena golang sangat terkenal dengan less code. Format pendeklarasian dengan cara ketiga ini adalah sebagai berikut

nama_variable := nilai

ya, sangat singkat. Penulisan seperti ini tidak mengindahkan tipe data ataupun syntax “var” yang menandakan variable. := secara otomatis akan mengindikasikan nilai disamping kiri := adalah variable dan nilai sebelah kanan merupaka nilainya. Tipe data akan diambil dari nilai sebelah kanan atau dikenal sebagai ommiting. Sehingga baik cara 2 dan cara 3 sama-sama melakukan ommiting. Contohnya adalah sebagai berikut ini

package main

import (
	"fmt"
)

func main() {
	nama := "degananda ferdian"
	umur := 17
	hidup := true
	fmt.Print(nama, umur, hidup)
}

sangat singkat. Hanya saja penulisan dengan cara seperti ini harus diketahui atau didefinisikan nilai awalnya(sama halnya dengan cara 2) Kita tidak dapat mendeklerasikan variable tanpa menentukan nilainya. Berbeda saat menggunakan cara pertama khusus untuk tipe data string

package main

import (
	"fmt"
)

func main() {
	var nama string
	fmt.Printf(nama)
}

Best practice

Lalu dari cara 1 hingga cara 3 manakah yang harus kita gunakan? jawabannya adalah

Usahakan selalu menggunakan cara ketiga (3) jika memungkinkan.

Mengapa ? karena less code = more performance = more simple. Jawabannya sangat sederhana. Anda akan jarang sekali menemukan potongan kode diinteger yang mendeklrasikan variable dengan menggunakan cara pertama ataupun kedua karena kebanyakan menggunakan cara ketiga. Namun itu berarti cara 1 dan cara 2 salah. Ini hanya terkait dengan selera~.