Array
Array adalah sebuah urutan bernomor elemen type tunggal dengan panjang yang tetap. Di Go bisa digunakan array seperti koding ini:
var x [5] int
Arti dari baris diatas yaitu x adalah contoh variabel array yang terdiri dari 5 urutan bertipe integer. Mari kita coba membuat codingan array kalian bisa mencobanya klik disini :
package main
import "fmt"
func main() {
var x [5]int
x[4] = 100
fmt.Println(x) }
Kamu akan melihat hasil output ini:
[0 0 0 0 100]
x [4] = 100 jika dibaca akan seperti ini "mengatur elemen ke-5 dari array x menjadi 100". Kelihatannya agak aneh bahwa x [4] mewakili elemen ke-5 dan bukannya yang ke-4. Untuk urutan array tidak sama seperti string, array diindeks mulai dari 0.
Kita bisa mengubah fmt.Println (x) menjadi fmt.Println (x [4]) dan kita juga akan mendapatkan hasil yang sama yaitu 100.
Berikut ini contoh program lain yang menggunakan array:
package main
import "fmt"
func main() {
var x [5]float64
x[0] = 98
x[1] = 93
x[2] = 77
x[3] = 82
x[4] = 83
var total float64 = 0
for i := 0;
i < 5; i++ {
total += x[i] }
fmt.Println(total / 5)
}
Program ini menghitung rata-rata dari serangkaian nilai tes. Jika kamu menjalankannya, kamu akan melihat 86.6. Mari kita telusuri arti dari program diatas:
- Pertama-tama kita membuat larik panjang 5 untuk menahan nilai tes kita, kemudian kita mengisi setiap elemen dengan nilai
- Selanjutnya kita menyiapkan loop untuk menghitung skor total
- Akhirnya kita membagi skor total dengan jumlah elemen untuk menemukan rata-rata
Program ini berfungsi, tetapi Go menyediakan beberapa fitur yang dapat kamu gunakan untuk lebih praktisnya. Pertama 2 bagian ini: i<5 dan total/5 harus menentukannya terlebih dahulu. Katakanlah kamu mengubah jumlah nilai dari 5 menjadi 6. Kamu juga perlu mengubah kedua bagian ini. Akan lebih baik menggunakan panjang dari array sebagai gantinya, Silakan lakukan perubahan ini dan jalankan program :
package main
import "fmt"
func main() {
var x [5]float64
x[0] = 98
x[1] = 93
x[2] = 77
x[3] = 82
x[4] = 83
var total float64 = 0
for i := 0;
i < len(x);
i++ { total += x[i] }
fmt.Println(total/len(x))
}
Kamu pasti mendapatkan kesalahan:
invalid operation: total / len(x) (mismatched types float64 and int)
Masalahnya di sini adalah bahwa len (x) dan total memiliki tipe yang berbeda. total adalah float64 sementara len (x) adalah int. Jadi kita perlu mengonversi len (x) menjadi float64:
fmt.Println (total / float64 (len (x)))
Ini adalah contoh konversi type. Secara umum untuk mengkonversi antar type kamu harus menggunakan nama type seperti fungsi.
Perubahan lain untuk program yang bisa kita buat adalah menggunakan bentuk khusus untuk loop:
var total float64 = 0
for i, value := range x {
total += value }
fmt.Println(total / float64(len(x)))
Dalam hal ini untuk loop i mewakili posisi saat ini dalam array dan nilai adalah sama dengan x [i]. Kita menggunakan rentang kata kunci yang diikuti oleh nama variabel yang ingin kita alihkan.
Menjalankan program ini akan menghasilkan kesalahan lain:
prog.go:23:5: i declared and not used
Kompiler Go tidak akan memungkinkan kamu untuk membuat variabel yang tidak pernah kamu gunakan. Karena kita tidak menggunakan i di dalam lingkaran kita, kita perlu mengubahnya menjadi seperti ini:
var total float64 = 0
for _, value := range x {
total += value }
fmt.Println(total / float64(len(x)))
Sebuah _ (underscore) digunakan untuk memberi tahu compiler bahwa kita tidak memerlukan ini. (Dalam hal ini kita tidak memerlukan variabel iterator).
Go juga menyediakan sintaks yang lebih pendek untuk membuat array:
x: = [5] float64 {98, 93, 77, 82, 83}
Kita tidak perlu lagi menentukan type karena Go bisa mengetahuinya. Terkadang array seperti ini bisa terlalu panjang untuk dipasang pada satu baris, jadi Go memungkinkan kamu untuk memecah dan menyingkatnya seperti ini:
x: = [5] float64 {98, 93, 77, 82, 83,}
Perhatikan trailing ekstra, setelah 83 tidak ada kendala yang terjadi karena Go sudah memahami bahwa baris tersebut adalah array.
Untuk dengan mudah menghapus elemen dari array dengan cara mengomentari baris seperti ini:
x: = [4] float64 {98, 93, 77, 82, // 83,}
MATERI GOLANG
Jika kamu baru di pembelajaran golang, silakan untuk belajar dari materi pertama
Materi ke-1 : Program Pertama
Materi ke-2 : Cara Membaca Program
Materi ke-3 : Type Data
Materi ke-4 : Golang Number
Materi ke-5 : String pada Golang
Materi ke-6 : Boolean Pada Golang
Materi ke-7 : Variable Pada Golang
Materi ke-8 : Cara Memberi Nama Variabel
Materi ke-9 : Scope Pada Golang
Materi ke-10 : Konstanta Pada Golang
Materi ke-11 : Struktur Golang
Materi ke-12 : For Golang
Materi ke-13 : IF Golang
Materi ke-14 : Switch Case Golang
Materi ke-15 : Array Pada Golang
Materi ke-16 : Slice Pada Golang
Materi ke-17 : MAP Golang
Materi ke-18 : Functions Golang
Materi ke-19 : Mengembalikan banyak Nilai dan Variadik
Materi ke-20 : Closure golang
Materi ke-21 : Rekursif Golang
Materi ke-22 : Tunda, Panik, Dan Pulihkan
Materi ke-2 : Cara Membaca Program
Materi ke-3 : Type Data
Materi ke-4 : Golang Number
Materi ke-5 : String pada Golang
Materi ke-6 : Boolean Pada Golang
Materi ke-7 : Variable Pada Golang
Materi ke-8 : Cara Memberi Nama Variabel
Materi ke-9 : Scope Pada Golang
Materi ke-10 : Konstanta Pada Golang
Materi ke-11 : Struktur Golang
Materi ke-12 : For Golang
Materi ke-13 : IF Golang
Materi ke-14 : Switch Case Golang
Materi ke-15 : Array Pada Golang
Materi ke-16 : Slice Pada Golang
Materi ke-17 : MAP Golang
Materi ke-18 : Functions Golang
Materi ke-19 : Mengembalikan banyak Nilai dan Variadik
Materi ke-20 : Closure golang
Materi ke-21 : Rekursif Golang
Materi ke-22 : Tunda, Panik, Dan Pulihkan
Comments