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;
Les rumeurs sur les rencontres avec RM ont d’abord été propagées par un YouTuber, qui a déclaré que RM sortait avec une femme du cercle non-célébrité, mais qu’elle était riche.  La rumeur est née à cause d’une photo de RM avec un caniche, qui aurait appartenu à la femme. Les rumeurs se sont rapidement propagées sur internet et ont fait se demander nombre de fans: est-il vrai que le leader du groupe BTS a un amant? RM a ensuite répondu aux rumeurs via Weteverse jeudi 30/12/201. “Je ne connais pas du tout cette personne. Le caniche est le caniche de mon ami,” a déclaré RM, cité à partir d’un t weet  appartenant à @btsinthemoment. namjoon weverse moment 🐨 i dont know the person at all and the poodle is my friends poodle ^^; pic.twitter.com/okz0AIpVnc — 윤서⁷ (@btsinthemoment) December 31, 2021 Big Hit a également nié les allégations dans une déclaration publiée par  AllKPop .  “Les rumeurs de rencontres sur RM ne sont pas vraies,” a déclaré Big Hit, vendredi (31/12). Et apparemment, dans

Opisyal na Inilabas ni Adele ang Bagong Album na "30"

Opisyal na inilabas ni Adele ang kanyang pinakabagong album na pinamagatang “30” noong Biyernes (11/19/2021).  Nakatanggap ang bagong album ng mgapositibong pagsusuri mula sa mga kritiko ng musika. Ayon sa Rolling Stone , ang “30” ay ang pinakamahusay na album ni Adele. Mayroong 12 kanta sa “30” album na ito, isa na rito ang hit single na pinamagatang  Easy On Me .  Sa simula ng album, maririnig mo ang  Strangers By Nature— isang kantang puno ng patula na liriko. At sa dulo ay ang kantang  Love Is A Game , na nagsasalaysay ng karanasan ni Adele sa sakit na dulot ng pag-ibig. Sa  Metacritic  , nakatanggap ang bagong album ni Adele ng  metascore  na 89% mula sa 12  review  at nasa numero 8 sa listahan ng  Best Albums ng 2021 .  Habang nasa Apple Music Indonesia, ang LP “30” ay unang niraranggo sa Mga   Nangungunang Album. Adele sa British Vogue magazine (instagram.com/britishvogue). Ang album na ito ay inspirasyon ng diborsiyo ni Adele kay Simon Konecki. Sa isang pakikipanayam sa