Variable {10/100}

Seperti Javascript, untuk mendeklarasikan variabel kita menggunakan statement var. Di Golang kita mendeklarasikan tipe dari variabel diakhir statement, kalau pada umumnya seperti var type nama_variable di Golang kita balik seperti var nama_variable type.

Statement var bisa diletakan di dalam atau di luar function.

package main
import "fmt"
var c, python bool
func main() {
var i, java int
fmt.Println(i, c, java, python)
}

Dari contoh diatas kita mendeklarasi 2 variable di luar function (c dan python dengan tipe bool) dan 2 variable di dalam function (i dan java dengan tipe int).

Kita juga bisa menginisialisasi nilai dari variable saat mendeklarasikannya, jika kita menginisialisasikannya, kita tidak perlu mendeklarasikan tipe dari variable tersebut. Variable akan akan menyesuaikan tipe nya sesuai dengan nilai inisialisasinya.

package main
import "fmt"
var i, j = 1, 2
func main() {
var c, java = true, "no!"
fmt.Println(i, j, c, java)
}

Kita mendeklarasikan variable i dan j dengan menginsialisasikan nilainya 1 dan 2, maka secara otomatis variable i dan j akan memiliki tipe int. Variable c dan java juga kita inisialisasikan nilai-nya langsung pada saat pendeklarasian, c dengan nilai true sedangkan java dengan nilai “no!” which means variable c akan memiliki tipe boolean dan variable java akan memiliki tipe string.

Ada cara yang lebih simple dalam pendeklarasian variable di dalam function di Golang

package main
import "fmt"
func main() {
var i, j int = 1, 2
k := 3
c, python, java := true, false, "no!"
fmt.Println(i, j, k, c, python, java)
}

Kita bisa menghilangkan statement var dan langsung mendeklarasikan variable beserta nilainya, seperti contoh diatas kita bisa mendeklarasikan variable k dengan nilai 3 dan bertipe int tanpa menggunakan statement var. Cool.

Hal ini dinamakan short variable declarations, yang perlu diingat dalam fitur keren ini, fitur ini hanya bisa digunakan apabila kita ingin mendeklarasikan variable yang ada di dalam function, jadi fitur ini tidak akan bisa digunakan di luar function.