0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan97 halaman

Slide Golang Standart Library

Dokumen ini membahas tentang Standard Library dalam bahasa pemrograman Go-Lang, termasuk berbagai package bawaan yang sering digunakan seperti fmt, errors, os, dan lainnya. Setiap package dijelaskan fungsinya dan contoh penggunaannya, serta cara membuat proyek menggunakan Go-Lang. Selain itu, dokumen ini juga mencakup informasi tentang pengelolaan file dan rencana materi pembelajaran selanjutnya.

Diunggah oleh

ming oey
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan97 halaman

Slide Golang Standart Library

Dokumen ini membahas tentang Standard Library dalam bahasa pemrograman Go-Lang, termasuk berbagai package bawaan yang sering digunakan seperti fmt, errors, os, dan lainnya. Setiap package dijelaskan fungsinya dan contoh penggunaannya, serta cara membuat proyek menggunakan Go-Lang. Selain itu, dokumen ini juga mencakup informasi tentang pengelolaan file dan rencana materi pembelajaran selanjutnya.

Diunggah oleh

ming oey
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Go-Lang Standard Library

Eko Kurniawan Khannedy


Eko Kurniawan Khannedy

- Technical architect at one of the biggest


ecommerce company in Indonesia
- 12+ years experiences
- [Link]
- [Link]/c/ProgrammerZamanNow
Eko Kurniawan Khannedy
● Telegram : @khannedy
● Linkedin : [Link]
● Facebook : [Link]/ProgrammerZamanNow
● Instagram : [Link]/programmerzamannow
● Youtube : [Link]/c/ProgrammerZamanNow
● Telegram Channel : [Link]/ProgrammerZamanNow
● Tiktok : [Link]
● Email : [Link]@[Link]
Sebelum Belajar

● Go-Lang Dasar
Standard Library
Standard Library

● Go-Lang, selain merupakan bahasa pemrograman, Go-Lang juga menyediakan Standard Library
(package bawaan) tanpa harus menggunakan package dari luar buatan orang lain
● Contoh pada Kelas Go-Lang Dasar, kita sudah belajar package bernama fmt atau errors
● Selain package tersebut, sebenarnya masih banyak package lainnya yang bisa kita gunakan
● Pada materi ini, kita akan coba bahas lebih detail package-package yang terdapat sebagai Standard
Library di Go-Lang yang sering digunakan saat kita membuat aplikasi
● [Link]
Membuat Project
Membuat Project

● Buatlah folder belajar-golang-standard-library


● go mod init belajar-golang-standard-library
Package fmt
Package fmt

● Sebelumnya kita sudah sering menggunakan package fmt dengan menggunakan function Println
● Selain Println, masih banyak function yang terdapat di package fmt, contohnya banyak digunakan
untuk melakukan format
● [Link]
Kode : Package fmt
Package errors
Package errors

● Sebelumnya kita sudah membahas tentang interface error yang merupakan representasi dari error
di Go-Lang, dan membuat error menggunakan function [Link]()
● Sebenarnya masih banyak yang bisa kita lakukan menggunakan package errors, contohnya ketika
kita ingin membuat beberapa value error yang berbeda
● [Link]
Kode : Membuat Error
Kode : Menggunakan Error
Mengecek Jenis Error

● Misal kita membuat jenis error sendiri, lalu kita ingin mengecek jenis errornya
● Kita bisa menggunakan [Link]() untuk mengecek jenis type error nya
Kode : Mengecek Jenis Error
Package os
Package os

● Go-Lang telah menyediakan banyak sekali package bawaan, salah satunya adalah package os
● Package os berisikan fungsionalitas untuk mengakses fitur sistem operasi secara independen (bisa
digunakan disemua sistem operasi)
● [Link]
Kode Program Package os (1)
Kode Program Package os (2)
Package flag
Package flag

● Package flag berisikan fungsionalitas untuk memparsing command line argument


● [Link]
Kode Program Package flag
Package strings
Package strings

● Package strings adalah package yang berisikan function-function untuk memanipulasi tipe data
String
● Ada banyak sekali function yang bisa kita gunakan
● [Link]
Beberapa Function di Package strings
Function Kegunaan

[Link](string, cutset) Memotong cutset di awal dan akhir string

[Link](string) Membuat semua karakter string menjadi lower case

[Link](string) Membuat semua karakter string menjadi upper case

[Link](string, separator) Memotong string berdasarkan separator

[Link](string, search) Mengecek apakah string mengandung string lain

[Link](string, from, to) Mengubah semua string dari from ke to


Kode Program Package strings
Package strconv
Package strconv

● Sebelumnya kita sudah belajar cara konversi tipe data, misal dari int32 ke int34
● Bagaimana jika kita butuh melakukan konversi yang tipe datanya berbeda? Misal dari int ke string,
atau sebaliknya
● Hal tersebut bisa kita lakukan dengan bantuan package strconv (string conversion)
● [Link]
Beberapa Function di Package strconv
Function Kegunaan

[Link](string) Mengubah string ke bool

[Link](string) Mengubah string ke float

[Link](string) Mengubah string ke int64

[Link](bool) Mengubah bool ke string

[Link](float, … ) Mengubah float64 ke string

[Link](int, … ) Mengubah int64 ke string


Kode Program Package strconv
Package math
Package math

● Package math merupakan package yang berisikan constant dan fungsi matematika
● [Link]
Beberapa Function di Package math
Function Kegunaan

[Link](float64) Membulatkan float64 keatas atau kebawah, sesuai


dengan yang paling dekat

[Link](float64) Membulatkan float64 kebawah

[Link](float64) Membulatkan float64 keatas

[Link](float64, float64) Mengembalikan nilai float64 paling besar

[Link](float64, float64) Mengembalikan nilai float64 paling kecil


Kode Program Package math
Package container/list
Package container/list

● Package container/list adalah implementasi struktur data double linked list di Go-Lang
● [Link]
Struktur Data Double Linked List
Kode Program Package container/list
Package container/ring
Package container/ring

● Package container/ring adalah implementasi struktur data circular list


● Circular list adalah struktur data ring, dimana diakhir element akan kembali ke element awal
(HEAD)
● [Link]
Struktur Data Circular List
Kode Program Package container/ring
Package sort
Package sort

● Package sort adalah package yang berisikan utilitas untuk proses pengurutan
● Agar data kita bisa diurutkan, kita harus mengimplementasikan kontrak di interface [Link]
● [Link]
[Link]
Kode Program Package sort (1)
Kode Program Package sort (2)
Kode Program Package sort (3)
Package time
Package time

● Package time adalah package yang berisikan fungsionalitas untuk management waktu di Go-Lang
● [Link]
Beberapa Function di Package time
Function Kegunaan

[Link]() Untuk mendapatkan waktu saat ini

[Link](...) Untuk membuat waktu

[Link](layout, string) Untuk memparsing waktu dari string


Kode Program Package time
Duration

● Saat menggunakan tipe data waktu, kadang kita butuh data berupa durasi
● Package tipe memiliki type Duration, yang sebenarnya adalah alias untuk int64
● Namun terdapat banyak method yang bisa kita gunakan untuk memanipulasi Duration
Kode : Duration
Package reflect
Package reflect

● Dalam bahasa pemrograman, biasanya ada fitur Reflection, dimana kita bisa melihat struktur kode
kita pada saat aplikasi sedang berjalan
● Hal ini bisa dilakukan di Go-Lang dengan menggunakan package reflect
● Fitur ini mungkin tidak bisa dibahas secara lengkap dalam satu video, Anda bisa eksplorasi package
reflec ini secara otodidak
● Reflection sangat berguna ketika kita ingin membuat library yang general sehingga mudah
digunakan
● [Link]
Kode Program Package reflect
Kode Program StructTag
Kode Program Validation Library
Package regexp
Package regexp

● Package regexp adalah utilitas di Go-Lang untuk melakukan pencarian regular expression
● Regular expression di Go-Lang menggunakan library C yang dibuat Google bernama RE2
● [Link]
● [Link]
Beberapa Function di Package regexp
Function Kegunaan

[Link](string) Membuat Regexp

[Link](string) bool Mengecek apakah Regexp match dengan string

[Link](string, max) Mencari string yang match dengan maximum jumlah


hasil
Kode Program Package regexp
Package encoding
Package encoding

● Golang menyediakan package encoding untuk melakukan encode dan decode


● [Link]
● Golang menyediakan berbagai macam algoritma untuk encoding, contoh yang populer adalah
base64, csv dan json
Kode : Base64
Kode : CSV Reader
Kode : CSV Writer
Package slices
Package slices

● Di Golang versi terbaru, terdapat fitur bernama Generic, fitur ini akan kita bahas khusus dikelas
Golang Generic
● Fitur Generic ini membuat kita bisa membuat parameter dengan tipe yang bisa berubah-ubah,
tanpa harus menggunakan interface kosong / any
● Salah satu package yang menggunakan fitur Generic ini adalah package slices
● Package slices ini digunakan untuk memanipulasi data di slice
● [Link]
Kode : Package slices
Package path
Package path

● Package path digunakan untuk memanipulasi data path seperti path di URL atau path di File
System
● Secara default Package path menggunakan slash sebagai karakter path nya, oleh karena itu cocok
untuk data URL
● [Link]
● Namun jika ingin menggunakan untuk memanipulasi path di File System, karena Windows
menggunakan backslash, maka khusus untuk File System, perlu menggunakan pacakge
path/filepath
● [Link]
Kode : Package path
Kode : Package path/filepath
Package io
Package io

● IO atau singkatan dari Input Output, merupakan fitur di Golang yang digunakan sebagai standard
untuk proses Input Output
● Di Golang, semua mekanisme input output pasti mengikuti standard package io
● [Link]
Reader

● Untuk membaca input, Golang menggunakan kontrak interface bernama Reader yang terdapat di
package io
Writer

● Untuk menulis ke output, Golang menggunakan kontrak interface bernama Writer yang terdapat
di package io
Implementasi IO

● Penggunaan dari IO sendiri di Golang terdapat dibanyak package, sebelumnya contohnya kita
menggunakan CSV Reader dan CSV Writer
● Karena Package IO sebenarnya hanya kontrak untuk IO, untuk implementasinya kita harus lakukan
sendiri
● Tapi untungnya, Golang juga menyediakan package untuk mengimplementasikan IO secara mudah,
yaitu menggunakan package bufio
Package bufio
Package bufio

● Package bufio atau singkatan dari buffered io


● Package ini digunakan untuk membuat data IO seperti Reader dan Writer
● [Link]
Kode : Reader
Kode : Writer
File Manipulation
File Management

● Di package os, terdapat File Management, namun sengaja ditunda pembahasannya, karena kita
harus tahu dulu tentang IO
● Saat kita membuat atau membaca file menggunakan Package os, struct File merupakan
implementasi dari [Link] dan [Link]
● Oleh karena itu, kita bisa melakukan baca dan tulis terhadap File tersebut menggunakan Package
io / bufio
Open File

● Untuk membuat / membaca File, kita bisa menggunakan [Link](name, flag, permission)
● name berisikan nama file, bisa absolute atau relative / local
● flag merupakan penanda file, apakah untuk membaca, menulis, dan lain-lain
● permission, merupakan permission yang diperlukan ketika membuat file, bisa kita simulasikan
disini : [Link]
File Flag di Package os
Kode : Membuat File Baru
Kode : Membaca File
Kode : Membaca dan Menambah ke File
Package Lainnya
Package Lainnya

● Sebenernya masih ada beberapa package lainnya yang tidak akan dibahas dikelas ini
● Hal ini dikarenakan package tersebut terlalu kompleks jika harus dibahas dalam 1 chapter, oleh
karena itu package-package berikut akan dibahas di kelas tersendiri, seperti :
● Package Context, Net, Testing, Template, Database, JSON dan Embed
Materi Selanjutnya
Materi Selanjutnya

● Go-Lang Modules
● Go-Lang Unit Test
● Go-Lang Goroutine
● Go-Lang Database
● Go-Lang Web

Anda mungkin juga menyukai