Skip to main content

MAP Golang

map golang

MAP GOLANG

MAP adalah aneka koleksi pasangan kunci nilai yang tidak berurutan. Juga dikenal sebagai Array Asosiatif, tabel hash atau kamus. MAP digunakan untuk mencari nilai dengan kunci yang terkait. Berikut ini contoh MAP di Go  :
var x map [string] int
Type MAP diwakili oleh MAP kata kunci, diikuti oleh type kunci dalam tanda kurung dan akhirnya type nilai. Jika kamu membaca ini dengan bahasa manusia kamu bisa mengatakan "x adalah MAP string ke int."

Seperti MAP Array dan Sice dapat diakses menggunakan tanda kurung. Coba jalankan program berikut,KLIK DISINI UNTUK MENCOBANYA:
package main
import (
"fmt"
)
var x map [string]
int x ["key"] = 10
fmt.Println (x)
}
map golang

Kamu seharusnya melihat kesalahan yang seprti ini:
prog.go:27:20: syntax error: unexpected newline, expecting typeprog.go:28:1: syntax error: non-declaration statement outside function body
Saat ini kamu hanya melihat kesalahan waktu kompilasi. Ini adalah contoh kesalahan runtime. Seperti namanya akan menyiratkan, kesalahan runtime terjadi ketika kamu menjalankan program, sementara kesalahan waktu kompilasi terjadi ketika kamu mencoba untuk mengkompilasi program.

Masalah dengan program disini adalah MAP harus diinisialisasi sebelum bisa digunakan. Kita seharusnya mengcoding seperti ini:
package main
import (
"fmt"
)
func main() {
x:=make(map [string] int)
x ["key"] = 10
fmt.Println (x ["key"])
}
map golang

Jika kamu menjalankan program ini, kamu akan melihat 10 ditampilkan. Pernyataan x ["key"] = 10 mirip dengan apa yang kita lihat dengan Array tetapi kuncinya bukannya integer, tetapi string karena jenis kunci MAP adalah string. Kamu juga dapat membuat peta dengan jenis kunci int seperti ini :
package main
import (
"fmt"
)
func main() {
x:=make (map[int]int)
x [1] = 10
fmt.Println (x [1])
}
map golang

Ini terlihat sangat mirip dengan array tetapi ada beberapa perbedaan. 
  • Pertama pada panjang MAP ,Array harus ditentukan dengan melakukan len(x), tetapi pada MAP tidak dan dapat berubah ketika kita menambahkan item baru ke dalamnya. Ketika pertama kali dibuat memiliki panjang 0, setelah x [1] = 10 memiliki panjang 1. 
  • Kedua MAP tidak berurutan. Kita memiliki x [1], dan dengan larik yang menyiratkan harus ada x [0], tetapi peta tidak memiliki persyaratan ini.

Kamu juga dapat menghapus item dari MAP menggunakan fungsi hapus bawaan:
delete(x, 1)
Mari kita lihat contoh program lain yang menggunakan peta:
package main
import "fmt"
func main() {
elements := make(map[string]string)
elements["H"] = "Hydrogen"
elements["He"] = "Helium"
elements["Li"] = "Lithium"
elements["Be"] = "Beryllium"
elements["B"] = "Boron"
elements["C"] = "Carbon"
elements["N"] = "Nitrogen"
elements["O"] = "Oxygen"
elements["F"] = "Fluorine"
elements["Ne"] = "Neon"
fmt.Println(elements["Li"])
}
map golang

Elemen adalah MAP yang mewakili 10 unsur pertama yang diindeks oleh simbolnya. Ini adalah cara yang sangat umum menggunakan MAP: sebagai tabel pencarian atau kamus. Misalkan kita mencoba mencari elemen yang tidak ada:
fmt.Println (elemen ["Un"])
Jika kamu menjalankan ini, Kamu akan melihat undefined: elemen. Secara teknis, sebuah MAP mengembalikan nilai nol untuk jenis nilai (untuk string adalah string kosong). Meskipun kita dapat memeriksa nilai nol dalam suatu kondisi (elemen ["Un"] == "") Go menyediakan cara yang lebih baik:
name, ok:= elements ["Un"]
fmt.Println (name, ok)
map

atau ini
map


Mengakses elemen map dapat mengembalikan dua nila. Nilai pertama adalah hasil pencarian, yang kedua memberitahu kita apakah pencarian berhasil atau tidak. Di Go, kita sering melihat kode seperti ini:
if name, ok := elements["Un"]; ok {
fmt.Println(name, ok) }
Pertama kita mencoba mendapatkan nilainya dari map, maka jika berhasil kita menjalankan kode di dalam blok.

Seperti yang kita lihat dengan array, ada juga cara yang lebih pendek untuk membuat map :
package main
import "fmt"
func main() {
elements := map[string]string{
"H": "Hydrogen",
"He": "Helium",
"Li": "Lithium",
"Be": "Beryllium",
"B": "Boron",
"C": "Carbon",
"N": "Nitrogen",
"O": "Oxygen",
"F": "Fluorine",
"Ne": "Neon", }
fmt.Println(elements["Li"])
name, ok:= elements ["Li"]
fmt.Println (name, ok)
}
map
MAP juga sering digunakan untuk menyimpan informasi umum. Mari kita memodifikasi program kita sehingga hanya menyimpan nama elemen, kita menyimpan status standarnya juga:
package main
import "fmt"
func main() {
elements := map[string]map[string]string{
"H": map[string]string{
"name":"Hydrogen",
"state":"gas", },
"He": map[string]string{
"name":"Helium",
"state":"gas", },
"Li": map[string]string{
"name":"Lithium",
"state":"solid", },
"Be": map[string]string{
"name":"Beryllium",
"state":"solid", },
"B":  map[string]string{
"name":"Boron",
"state":"solid", },
"C":  map[string]string{
"name":"Carbon",
"state":"solid", },
"N":  map[string]string{
"name":"Nitrogen",
"state":"gas", },
"O":  map[string]string{
"name":"Oxygen",
"state":"gas", },
"F":  map[string]string{
"name":"Fluorine",
"state":"gas", },
"Ne":  map[string]string{
"name":"Neon",
"state":"gas", },
}
if el, ok := elements["Li"];
ok {
fmt.Println(el["name"],
el["state"]) }
}
Perhatikan bahwa jenis MAP telah berubah
map [string] string untuk memetakan [string] petakan string [string]. 

Kita sekarang memiliki map string untuk memetakan string ke string. map luar digunakan sebagai tabel pencarian berdasarkan simbol elemen, sedangkan map bagian dalam digunakan untuk menyimpan informasi umum tentang elemen. .



MATERI GOLANG

Jika kamu baru di pembelajaran golang, silakan untuk belajar dari materi pertama 

Comments

Popular posts from this blog

Contoh Program C++ : Konversi Bilangan Hexadesimal, Oktal , Biner.

Hai Pembaca FajarYusuf.Com yang pintar dan berwawasan tinggi, kali ini FajarYusuf.Com akan post Contoh Program C++ : Konversi Bilangan Hexadesimal, Oktal , Biner . Mari kita membuat program konversi bilangan yang sangat mudah di buat dengan menggunakan bahasa pemrograman C++. Yaitu dengan menggunakan type data long, untuk Hexadesimal dengan rumus : <<hex<<desimal (merubah dari bilangan Desimal ke Hexadesimal) , untuk Oktal dengan rumus : <<oct<<desimal (merubah dari bilangan Desimal ke Oktal). Dan untuk biner dilakukan pembagian 2. Contoh Coding Program C++ Konversi Bilangan: #include<iostream> using namespace std; int main() { long desimal, pembagi=1073741824, bit; cout<<"Nilai Desimal : "; cin>>desimal; cout<<"Hexadesimal = "<<hex<<desimal<<endl; cout<<"Oktal = "<<oct<<desimal<<endl; ...

Menambahkan Peraturan Komentar Pada Blog

Menambahkan Peraturan Komentar Pada Blog : Ngblog Menulis sebuah artikel dan dikomentari dengan link aktif/promosi produk dan kata kata spam lainnya memang tidak mengenakan anda mungkin akan sangat merasa kecewa sekali, anda mungkin seperti menulis sebuah artikel namun tidak dihargai karyanya oleh orang lain. Mungkin membuat aturan berkomentar di blog adalah salah 1 cara menetralisirnya, mungkin jika ada aturan tersebut orang berpikir 2 kali untuk meninggalkan komentar Spam, lalu bagaimana cara membuat aturan komentar tersebut? langsung saja kita praktekan Ikuti langkah berikut : Login ke bloger,masuk ke blog yang anda inginkan, Klik Setelan -> POS-KOMENTAR   Scroll kebawah dan cari menu "pesan formulir komentar" klik tambahkan , dan isi kolom sesuai keinginan kalian atau peraturan yang kalian inginkan.  Setelah selesai silakan klik simpan setelan dipojok kanan atas. Lihat hasilnya di blog kalian ,akan seperti ini : Jika ada pertanyaan...

Mengenal Struktur Pada Bahasa Pemrograman C++

Hai Pembaca FajarYusuf.Com yang pintar dan berwawasan tinggi, kali ini FajarYusuf.Com akan post  Mengenal Struktur Pada Bahasa Pemrograman C++ . Secara umum, struktur bahasa pemrograman C++ umumnya adalah seperti dibawah ini : // contoh program C++ #include <iostream> using namespace std; int main () { cout << "Selamat Belajar C++ di fajaryusuf.com"; return 0; } Hasil output: Klik gambar untuk memperbesar Sisi atas merupakan source code, dan sisi bawah adalah hasilnya setelah dilakukan compile dan di eksekusi. persatu Program diatas merupakan salah satu program paling sederhana dalam C++, tetapi dalam program tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman C++. Jika dilihat satu : // contoh program C++ Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan dianggap sebagai komentar dan tidak akan berpengaruh terhadap program. Dapat digunakan oleh programmer ...