# Variabel

Kita semua sudah memahami variabel adalah tempat kita menyimpan sebuah data. Pada Go kita dapat menggunakan variabel dengan beberapa aturan dan cara:

### Menggunakan keyword `var`

Kita dapat mendeklarasikan satu atau beberapa variabel menggunakan `var` dengan menambahkan tipe data di akhir. `var` dapat digunakan dalam scope Package dan Function.

![menggunakan var untuk mendeklarasikan variabel](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRVLngwmz30d8cy95Du%2F-MRVP1KomkxHcpGigyYu%2FScreen%20Shot%202021-01-20%20at%2022.25.17.png?alt=media\&token=849fe745-c13d-4591-b77d-186fd36096ad)

Dari kode di atas kita bisa lihat bahwa `var` dapat di deklarasikan pada scope Package yaitu `a, b, dan c` yang bertipe `int` dan Function yaitu `isUser` dan `isLogin` yang bertipe `bool` . Kita masih belum meng-assign nilai pada variabel-variabel tersebut sehingga nantinya nilai yang ditampilkan adalah default value atau biasa juga disebut zero value.

![output program menampilkan zero value dari beberapa variabel](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRVLngwmz30d8cy95Du%2F-MRVPbNNAqI6fZLejpsb%2FScreen%20Shot%202021-01-20%20at%2022.25.33.png?alt=media\&token=f4ea74c5-58ca-47f5-8bcf-d0fffe84f550)

{% hint style="info" %}
`0` for numeric types,

`false` for the boolean type, and

`""` (the empty string) for strings.
{% endhint %}

### Inisialiasi variabel menggunakan `var`

Kita dapat mengassign langsung suatu nilai pada saat mendeklarasikan variabel menggunakan `var` :

![inisialisasi variabel dengan sebuah nilai](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuCPl4FbDmC7As1RyD%2FScreen%20Shot%202021-01-25%20at%2022.41.49.png?alt=media\&token=a129a32a-4b0a-48ba-a1c8-1734b7448ae3)

Jika program di atas dijalankan maka akan terlihat output seperti berikut ini:

![output program menampilkan nilai dari variabel](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuCam6nNkDPCaxDcie%2FScreen%20Shot%202021-01-25%20at%2022.41.32.png?alt=media\&token=4b646bc0-0626-4754-8d55-0d74b9e2b449)

### Short Variable Declaration

Kita juga bisa menggunakan short syntax dalam membuat sebuah variabel menggunakan `:=` . Namun ini hanya berlaku pada scope `function` dan tidak bisa digunakan pada scope `package` .

![Syntax := tidak dapa digunakan di luar scope function](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuEOB13YtSf5b4pUkW%2FScreen%20Shot%202021-01-25%20at%2022.49.24.png?alt=media\&token=f333b4a1-4677-4117-94a9-b07a7a8e7493)

![Tampilan error pada output program](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuEaP0uW8x3QCPXdA0%2FScreen%20Shot%202021-01-25%20at%2022.49.42.png?alt=media\&token=bbeb5e45-6e75-40e7-bf4f-7e481a376f75)

Jadi gunakan short syntax pada scope function seperti ini:

![Syntax := pada scope function](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuEk-MRnZu64DwQRIH%2FScreen%20Shot%202021-01-25%20at%2022.50.07.png?alt=media\&token=b70dd9b9-7e61-4e2e-9c3b-c6d1a6155502)

![Output program menampilkan nilai variabel](https://2969676661-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQaVepPFjuLoNjbs6f8%2F-MRu52SLJsL57KKrqYsN%2F-MRuEra4ckirbDv02IE_%2FScreen%20Shot%202021-01-25%20at%2022.50.24.png?alt=media\&token=e48776a6-25bc-4a28-b173-ebaf9f725b54)
