Bahasa Pemrograman Go (Pengantar)

Table of Contents

Bahasa Go

Selamat datang di Panduan Go

Golang

Bahasa Pemrograman Go
Golang
  • Pengidentifikasi di Golang
  • Kata kunci di Golang
  • Tipe Data
  • Variabel
  • Konstanta
  • Rune di Golang
  • Operator di Golang
  • Lingkup Variabel
  • Ketik Pengecoran
  • var Kata Kunci di Golang
  • Operator Deklarasi Singkat(:=)
  • var kata kunci vs operator deklarasi singkat

Go adalah bahasa pemrograman prosedural.

Golang dikembangkan pada tahun 2007 oleh Robert Griesemer, Rob Pike, dan Ken Thompson di Google tetapi diluncurkan pada tahun 2009 sebagai bahasa pemrograman sumber terbuka.

Program dirakit dengan menggunakan paket, untuk manajemen dependensi yang efisien. Bahasa ini juga mendukung pola adopsi lingkungan yang mirip dengan bahasa dinamis.

Misalnya, ketik inferensi (y := 0 adalah deklarasi yang valid dari variabel y bertipe float).

Ada berbagai IDE online seperti The Go Playground, repl.it, dll. Yang dapat digunakan untuk menjalankan program Go tanpa menginstal.

Untuk menginstal Go di PC atau Laptop kita membutuhkan dua perangkat lunak berikut: Text editor dan Compiler.

Editor Teks: Editor teks memberi Anda platform tempat Anda menulis kode sumber. Berikut adalah daftar editor teks:

  • Windows notepad
  • OS Edit command
  • Brief
  • Epsilon
  • vm or vi
  • Emacs
  • VS Code

Compiler Go: Distribusi Go hadir sebagai biner yang dapat diinstal untuk FreeBSD (rilis 8 ke atas), Linux, Mac OS X (Snow Leopard ke atas), dan sistem operasi Windows dengan 32-bit (386) dan 64-bit (amd64 ) arsitektur prosesor x86.

Catatan: Ekstensi file kode sumber bahasa go harus .go

Menulis program pertama di Go

package main
import “fmt”
func main() {
// prints Akademi Mas Irfan
fmt.Println(“Hello, Akademi Mas Irfan”)
}

Output:

Hello, Akademi Mas Irfan

Penjelasan sintaks program Go:

  • Baris 1: Berisi paket utama program (package main), yang berisi keseluruhan isi program. Merupakan titik awal untuk menjalankan program, sehingga wajib ditulis.
  • Baris 2: Ini berisi importfmt“, ini adalah perintah preprocessor yang memberi tahu kompiler untuk memasukkan file yang ada di dalam paket.
  • Baris 3 : main function, merupakan awal dari eksekusi program.
  • Baris 4: fmt.Println() adalah fungsi pustaka standar untuk mencetak sesuatu sebagai output di layar. Dalam hal ini, paket fmt telah mentransmisikan metode Println yang digunakan untuk menampilkan output.
  • Komentar: Komentar digunakan untuk menjelaskan kode dan digunakan dengan cara yang sama seperti di Java atau C atau C++. Kompiler mengabaikan entri komentar dan tidak menjalankannya. Komentar dapat terdiri dari satu baris atau beberapa baris.

Komentar Baris Tunggal:

Sintaksis:

// single line comment

Komentar multi-baris:

Sintaksis:

/* multiline comment */

Berikut ini adalah contoh lain:

package main
import “fmt”
func main() {
fmt.Println(“1 + 1 =”, 1 + 1)
}

Output:

1 + 1 = 2

Penjelasan program diatas: Dalam program di atas, baris paket yang sama, baris impor yang sama, deklarasi fungsi yang sama dan menggunakan fungsi Println yang sama seperti yang telah kita gunakan pada program GO pertama.

Kali ini alih-alih mencetak string “Halo, Akademi Mas Irfan”, kami mencetak string 1 + 1 = diikuti dengan hasil ekspresi 1 + 1. Ekspresi ini terdiri dari tiga bagian: numerik literal 1 (yang bertipe int), operator + (yang merepresentasikan penjumlahan) dan literal numerik lainnya 1.

Mengapa “bahasa Go”? Karena bahasa Go adalah upaya untuk menggabungkan kemudahan pemrograman dari bahasa yang ditafsirkan dan diketik secara dinamis dengan efisiensi dan keamanan dari bahasa yang dikompilasi dan diketik secara statis.

Go juga bertujuan untuk menjadi modern, dengan dukungan untuk komputasi jaringan dan multicore.

Apa yang tidak termasuk dalam Go yang hadir dalam bahasa lain?

  • Go berupaya mengurangi jumlah pengetikan dalam kedua arti kata tersebut. Sepanjang desainnya, pengembang mencoba mengurangi kekacauan dan kerumitan.
  • Tidak ada deklarasi maju dan tidak ada file header; semuanya dinyatakan tepat satu kali.
  • Kegagapan dikurangi dengan derivasi tipe sederhana menggunakan := menyatakan-dan-menginisialisasi konstruk.
  • Tidak ada hierarki tipe: tipe apa adanya, mereka tidak perlu mengumumkan hubungannya.

Keterbatasan Perangkat Keras. Dalam satu dekade, perangkat keras dan konfigurasi pemrosesan berubah dengan sangat lambat.

Pada tahun 2004, P4 memiliki kecepatan clock 3,0 GHz dan sekarang di tahun 2018, Macbook pro memiliki kecepatan clock Kira-kira (2,3Ghz v 2,66Ghz).

Untuk mempercepat, fungsionalitas Anda akan menggunakan lebih banyak prosesor, tetapi menggunakan lebih banyak prosesor biayanya juga meningkat. Dan jika Anda menggunakan prosesor terbatas dan menggunakan prosesor terbatas Anda memiliki bahasa pemrograman yang berat yang threadingnya membutuhkan lebih banyak memori dan memperlambat kinerja sistem Anda.

Oleh karena itu, untuk mengatasi masalah tersebut, Golang telah dirancang sedemikian rupa sehingga alih-alih menggunakan threading, Golang menggunakan Goroutine, yang mirip dengan threading tetapi menggunakan memori yang sangat sedikit.

Seperti threading yang menghabiskan 1MB sedangkan Goroutine menghabiskan 2KB memori, maka pada saat yang sama, kita dapat memicu jutaan goroutine.

Jadi poin yang dibahas di atas membuat golang menjadi bahasa yang kuat yang menangani konkurensi seperti C++ dan Java.

Kelebihan dan Kekurangan Bahasa Go

Keuntungan:

  • Fleksibel- Ringkas, sederhana dan mudah dibaca.
  • Concurrency- Ini memungkinkan banyak proses berjalan secara bersamaan dan efektif.
  • Hasil Cepat – Waktu kompilasinya sangat cepat.
  • Perpustakaan- Ini menyediakan perpustakaan standar yang kaya.
  • Pengumpulan sampah- Ini adalah fitur utama go. Go unggul dalam memberikan banyak kendali atas alokasi memori dan secara dramatis mengurangi latensi dalam versi terbaru dari pengumpul sampah.
  • Go memvalidasi untuk antarmuka dan jenis penyematan.

Kekurangan:

  • Itu tidak memiliki dukungan untuk generik, meskipun ada banyak diskusi tentangnya.
  • Paket-paket yang didistribusikan dengan bahasa pemrograman ini cukup berguna tetapi Go tidak terlalu berorientasi objek dalam pengertian konvensional.
  • Tidak adanya beberapa perpustakaan terutama tool kit UI.

Beberapa Aplikasi populer dikembangkan dalam Bahasa Go

  • Docker: seperangkat alat untuk menyebarkan wadah linux
  • Openshift: platform komputasi awan sebagai layanan oleh Red Hat.
  • Kubernetes: Masa depan proses penerapan otomatis yang lancar
  • Dropbox: memigrasikan beberapa komponen penting mereka dari Python ke Go.
  • Netflix: untuk dua bagian dari arsitektur server mereka.
  • InfluxDB: adalah database deret waktu sumber terbuka yang dikembangkan oleh InfluxData.
  • Golang: Bahasa itu sendiri ditulis dalam Go.

Fitur bahasa go

  • Desain Bahasa: Para perancang bahasa membuat tujuan sadar untuk menjaga bahasa tetap sederhana dan mudah dimengerti. Seluruh perincian ada dalam beberapa halaman dan beberapa keputusan desain yang menarik dibuat melalui dukungan Berorientasi Objek dalam bahasa tersebut. Untuk ini, bahasa tersebut berpendirian dan merekomendasikan cara idiomatis untuk mencapai sesuatu. Itu lebih suka Komposisi daripada Warisan. Dalam Bahasa Go, “Lakukan Lebih Banyak dengan Lebih Sedikit” adalah mantranya.
  • Manajemen Paket: Go menggabungkan alur kerja pengembang modern yang bekerja dengan proyek Sumber Terbuka dan menyertakannya dalam cara mengelola paket eksternal. Dukungan diberikan secara langsung dalam perkakas untuk mendapatkan paket eksternal dan menerbitkan paket Anda sendiri dalam satu set perintah mudah.
  • Pustaka standar yang kuat: Go memiliki pustaka standar yang kuat, yang didistribusikan sebagai paket.
  • Pengetikan Statis: Go adalah bahasa pengetikan statis. Jadi, dalam kompiler ini tidak hanya berhasil mengkompilasi kode tetapi juga memastikan konversi jenis dan kompatibilitas. Karena fitur ini Go hindari semua masalah yang kita hadapi dalam bahasa yang diketik secara dinamis.
  • Dukungan Pengujian: Go memberi kami fitur pengujian unit dengan sendirinya yaitu, mekanisme sederhana untuk menulis pengujian unit Anda secara paralel dengan kode Anda karena ini Anda dapat memahami cakupan kode Anda dengan pengujian Anda sendiri. Dan itu dapat dengan mudah digunakan dalam membuat dokumentasi kode Anda sebagai contoh.
  • Platform Independen: Bahasa Go sama seperti bahasa Java karena mendukung independensi platform. Karena desain modular dan modularitasnya yaitu, kode dikompilasi dan diubah menjadi bentuk biner yang sekecil mungkin dan karenanya tidak memerlukan ketergantungan. Kodenya dapat dikompilasi di platform apa pun atau server dan aplikasi apa pun yang Anda gunakan.