Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Go memiliki pointer. Sebuah pointer menyimpan alamat dari sebuah nilai.

Contoh :
  1. Tipe *T adalah pointer ke sebuah nilai T.
  2. Nilai kosong dari pointer adalah nil.
  3. Operator & mengembalikan operan pointer dari variabel.
  4. Operator * mengembalikan nilai yang ditunjuk oleh pointer.
  5. Cara ini disebut dengan "dereferencing" atau "indirecting".
  6. Tidak seperti C, Go tidak memiliki fungsi aritmatika pada pointer.

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Struct
Sebuah struct adalah kumpulan dari berbagai variabel. Bagian dari struct diakses menggunakan sebuah titik. Sebuah struct bisa dibuat dengan mengisinya dengan nilai bagian-bagiannya. Anda juga bisa mengisi hanya sebagian dari kolom dengan menggunakan sintaks Name: (urutan dari bagian-bagiannya tidak berpengaruh).

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Array
  1. Deklarasi tipe dengan [n]T adalah untuk array dengan jumlah dan bertipe T.
    • Ekspresi
      • var a [10] int
      • mendeklarasikan sebuah variable a sebagai sebuah array dari sepuluh integer.
  2. Panjang sebuah array adalah bagian dari tipenya, jadi array tidak bisa diubah ukurannya. Hal ini sepertinya membatasi, tapi jangan khawatir; Go menyediakan cara yang mudah untuk bekerja dengan array.

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Slice
  1. Sebuah array memiliki ukuran yang tetap. Sebuah slice ukurannya bisa dinamis, bisa mengacu secara fleksibel ke elemen dalam sebuah array. Dalam praktiknya, slice lebih sering digunakan daripada array.
    • Tipe []T adalah sebuah slice dengan elemen bertipe T.
  2. Sebuah slice dibentuk dengan menspesifikasikan dua indeks, batas bawah dan batas atas, dipisahkan oleh sebuah tanda titik-dua:
    • a[bawah : atas]
  3. Notasi di atas memotong rentang dari slice a yang mengikutkan
  4. Ekspresi berikut membuat sebuah slice yang mengikutkan elemen 1 sampai 3 dari slice a:
    • a[1:4]

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Inisialisasi Slice
Menginisialisasi slice mirip dengan array tapi tanpa mendefinisikan panjangnya.

Berikut ini adalah sebuah array:
  • [3]bool{true, true, false}

Dan berikut ini membuat array yang sama seperti di atas, kemudian membuat sebuah slice yang mengacu kepadanya:
  • []bool{true, true, false}

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Map
Sebuah map memetakan sebuah kunci (key) dengan nilainya. Nilai kosong dari sebuah map adalah nil. Sebuah map yang nil tidak memiliki kunci, tidak juga dapat ditambahkan kunci baru. Fungsi make mengembalikan sebuah map dengan tipenya, diinisialisasi dan siap untuk digunakan.

Tipe Data Pointers, Struct, Slices, Arrays, Dan Maps

Sumber Referensi : golang