GO : Arrays
Pada dasarnya array merupakan sebuah struktur data yang dapat menyimpan satu atau banyak nilai di dalamnya. Bahasa pemrograman Go mendukung untuk membuat sebuah array, memasukan nilai di dalamnya, dan mengambil elemen didalamnya.
Array dibagi menjadi beberapa jenis.
- Fixed array, yaitu array yang ukurannya tidak bisa diubah.
- Dynamic array, yaitu array yang ukurannya bisa berubah.
- 1-dimension array, yaitu array yang hanya terdapat satu
dimensi (terdapat 1 baris).
- Multi-dimension array, yaitu array yang bisa n dimensi yang
terdapat banyak baris, layer, dll.
- Bit array, yaitu array yang menyimpan hanya bit (0/1).
- Array asosiatif, yaitu array yang indeksnya tidak harus
integer dan tidak harus urut.
package main
import (
"fmt"
)
func main() {
//membuat sebuah array yang memiliki 5 nilai integer.
var a [5]int
fmt.Println("len(a) =", len(a))
//array a diinisialisasi sebagai 0
fmt.Println("a =", a)
//memasukan elemen pada array, pada indeks ke 0 yang berisi 3
a[0] = 3
fmt.Println("a =", a)
fmt.Println("a[0] =", a[0])
//array slicing merupakan operasi untuk mengambil beberapa elemen sebagai elemen lain, cap() merupakan kapasitas maksimum sebuah array yang ditunjuk oleh slice
s := a[:4]
fmt.Println("s =", s)
fmt.Println("len(s) =", len(s),"cap(s) =", cap(s))
//sebuah slice bisa di slice lagi selama masih berupa array
s = s[:5]
fmt.Println("s =", s)
//variable s masih sama dengan variable a, masukan indeks ke 0 dari array a dengan nilai 22, maka nilai yang 3 sebelumnya berubah menjadi 22
a[0] = 22
fmt.Println("a =", a)
fmt.Println("s =", s)
//keyword append akan memperbesar sebuah array
s = append(s, 4, 5, 6)
fmt.Println("s =", s)
fmt.Println("len(s) =", len(s), "cap(s) =", cap(s))
//saat ini a bukan lagi merupakan bagian dari s
a[4] = -1
fmt.Println("a =", a)
fmt.Println("s =", s)
//keyword make membuat sebuah slice dan mengalokasikan array yang baru
s = make([]int, 8)
fmt.Println("s =", s)
fmt.Println("len(s) =", len(s), "cap(s) =", cap(s))
}
Output :
len(a) = 5
a = [0 0 0 0 0]
a = [3 0 0 0 0]
a[0] = 3
s = [3 0 0 0]
len(s) = 4 cap(s) = 5
s = [3 0 0 0 0]
a = [22 0 0 0 0]
s = [22 0 0 0 0]
s = [22 0 0 0 0 4 5 6]
len(s) = 8 cap(s) = 10
a = [22 0 0 0 -1]
s = [22 0 0 0 0 4 5 6]
s = [0 0 0 0 0 0 0 0]
len(s) = 8 cap(s) = 8
Source
Comments
Post a Comment