Skip to content

Commit ac104d1

Browse files
authored
Merge pull request novalagung#198 from novalagung/merge/prs
merge several prs
2 parents 9a10bc7 + 75b8bfb commit ac104d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+100
-87
lines changed

2-instalasi-golang.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Hal pertama yang perlu dilakukan sebelum bisa menggunakan Go adalah meng-*instal
44

55
Di sini penulis mencoba meringkas petunjuk instalasi pada *link* di atas, agar lebih mudah untuk diikuti terutama untuk pembaca yang baru belajar.
66

7-
> Go yang digunakan adalah versi **1.17.5**, direkomendasikan menggunakan versi tersebut.
7+
> Go yang digunakan adalah versi **1.18.5**, direkomendasikan menggunakan versi tersebut.
88
99
URL untuk mengunduh *installer* Go: https://golang.org/dl/. Silakan langsung unduh dari *link* tersebut lalu lakukan proses instalasi, atau bisa mengikuti petunjuk pada chapter ini.
1010

A-concurrency-pipeline.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Agar skenario ini bisa kita eksekusi, kita perlu siapkan dulu sebuah program unt
6161

6262
## A.62.3. Program 1: Generate Dummy File
6363

64-
Buat projek baru dengan nama bebas <span style="text-decoration: line-through">loss gak reweellll</span> beserta satu buah file bernama `1-dummy-file-generator.go`.
64+
Buat project baru dengan nama bebas <span style="text-decoration: line-through">loss gak reweellll</span> beserta satu buah file bernama `1-dummy-file-generator.go`.
6565

6666
Dalam file tersebut import beberapa hal dan definisikan konstanta `totalFile` yang isinya jumlah file yang ingin di-generate, `contentLength` yang isinya panjang karakter random yang merupakan isi dari masing-masing *generated* file, dan satu buah variabel `tempPath` yang mengarah ke [temporary folder](https://en.wikipedia.org/wiki/Temporary_folder).
6767

A-go-command.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# A.6. Command
22

3-
Pengembangan aplikasi Go tak jauh dari hal-hal yang berbau CLI atau *Command Line Interface*. Proses inisialisasi projek, kompilasi, testing, eksekusi program, semuanya dilakukan lewat command line.
3+
Pengembangan aplikasi Go tak jauh dari hal-hal yang berbau CLI atau *Command Line Interface*. Proses inisialisasi project, kompilasi, testing, eksekusi program, semuanya dilakukan lewat command line.
44

55
Go menyediakan command `go`, dan pada chapter ini kita akan mempelajari beberapa di antaranya.
66

77
> Pada pembelajaran chapter ini, pembaca tidak harus praktek, cukup pelajari saja untuk tahu. Mengenai praktek sendiri akan dimulai pada chapter selanjutnya, yaitu [A.7. Program Pertama: Hello World](/A-hello-world.html).
88
99
## A.6.1. Command `go mod init`
1010

11-
*Command* `go mod init` digunakan untuk inisialisasi projek pada Go (menggunakan Go Modules). Untuk nama projek bisa menggunakan apapun, tapi umumnya adalah disamakan dengan nama direktori.
11+
*Command* `go mod init` digunakan untuk inisialisasi project pada Go (menggunakan Go Modules). Untuk nama project bisa menggunakan apapun, tapi umumnya adalah disamakan dengan nama direktori.
1212

13-
Nama projek ini penting karena nantinya berpengaruh pada *import path sub packages* yang ada dalam projek tersebut.
13+
Nama project ini penting karena nantinya berpengaruh pada *import path sub packages* yang ada dalam project tersebut.
1414

1515
```
1616
mkdir <nama-project>
@@ -63,7 +63,7 @@ Berbeda dengan `go build`, *command* ini menghasilkan file *executable* atau *bi
6363

6464
![Kompilasi file program menghasilkan file executable](images/A_go_command_4_go_build.png)
6565

66-
Pada contoh di atas, projek `project-pertama` di-build, menghasilkan file baru pada folder yang sama, yaitu `project-pertama.exe`, yang kemudian dieksekusi. *Default*-nya nama projek akan otomatis dijadikan nama *binary*.
66+
Pada contoh di atas, project `project-pertama` di-build, menghasilkan file baru pada folder yang sama, yaitu `project-pertama.exe`, yang kemudian dieksekusi. *Default*-nya nama project akan otomatis dijadikan nama *binary*.
6767

6868
Untuk nama executable sendiri bisa diubah menggunakan flag `-o`. Contoh:
6969

@@ -76,7 +76,7 @@ go build -o program.exe
7676
7777
## A.6.5. Command `go get`
7878

79-
*Command* `go get` digunakan untuk men-download package. Sebagai contoh saya ingin men-download package Kafka driver untuk Go pada projek `project-pertama`.
79+
*Command* `go get` digunakan untuk men-download package. Sebagai contoh saya ingin men-download package Kafka driver untuk Go pada project `project-pertama`.
8080

8181
```bash
8282
cd project-pertama
@@ -86,7 +86,7 @@ dir
8686

8787
![Download package menggunakan `go get`](images/A_go_command_6_go_get.png)
8888

89-
Pada contoh di atas, `github.com/segmentio/kafka-go` adalah URL package kafka-go. Package yang sudah terunduh tersimpan dalam temporary folder yang ter-link dengan project folder di mana *command* `go get` dieksekusi, menjadikan projek tersebut bisa meng-*import* package terunduh.
89+
Pada contoh di atas, `github.com/segmentio/kafka-go` adalah URL package kafka-go. Package yang sudah terunduh tersimpan dalam temporary folder yang ter-link dengan project folder di mana *command* `go get` dieksekusi, menjadikan project tersebut bisa meng-*import* package terunduh.
9090

9191
Untuk mengunduh dependensi versi terbaru, gunakan flag `-u` pada command `go get`, misalnya:
9292

A-hello-world.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Semua persiapan sudah selesai, saatnya masuk pada sesi programming. Program pert
44

55
Pada chapter ini akan dijelaskan secara komprehensif *step-by-step* mulai dari awal. Mulai dari pembuatan project, pembuatan file program, sesi penulisan kode (coding), hingga eksekusi program.
66

7-
## A.7.1. Inisialisasi Projek
7+
## A.7.1. Inisialisasi Project
88

9-
Buat direktori bernama `hello-world` bebas ditempatkan di mana. Lalu via CLI, masuk ke direktori tersebut dan jalankan *command* untuk inisialisasi projek.
9+
Buat direktori bernama `hello-world` bebas ditempatkan di mana. Lalu via CLI, masuk ke direktori tersebut dan jalankan *command* untuk inisialisasi project.
1010

1111
```
1212
mkdir hello-world
@@ -16,9 +16,9 @@ go mod init hello-world
1616

1717
![Inisialisasi project](images/A_hello_world_1_init_project.png)
1818

19-
## A.7.2. Load Projek Folder ke Editor
19+
## A.7.2. Load Project Folder ke Editor
2020

21-
Buka editor, di sini penulis menggunakan VSCode. Cari menu untuk menambahkan projek, lalu pilih projek folder `hello-world`. Untuk beberapa jenis editor, cara load projek bisa cukup dengan klik-drag folder tersebut ke editor.
21+
Buka editor, di sini penulis menggunakan VSCode. Cari menu untuk menambahkan project, lalu pilih project folder `hello-world`. Untuk beberapa jenis editor, cara load project bisa cukup dengan klik-drag folder tersebut ke editor.
2222

2323
![Load project folder ke editor](images/A_hello_world_2_load_project_to_editor.png)
2424

@@ -28,7 +28,7 @@ File program di sini maksudnya adalah file yang isinya *source code* Go. File in
2828

2929
Di dalam project yang telah dibuat, siapkan sebuah file dengan nama bebas, yang jelas harus ber-ekstensi `.go`. Pada contoh ini saya menggunakan nama file `main.go`.
3030

31-
Pembuatan file program bisa dilakukan lewat CLI atau browser, atau juga lewat editor. Pastikan file dibuat dalam projek folder ya.
31+
Pembuatan file program bisa dilakukan lewat CLI atau browser, atau juga lewat editor. Pastikan file dibuat dalam project folder ya.
3232

3333
![File program](images/A_hello_world_3_new_file_on_editor.png)
3434

A-komentar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func main() {
2222
}
2323
```
2424

25-
Mari kita praktekan kode di atas. Siapkan file program baru dalam project folder (bisa buat projek baru atau gunakan projek yang sudah ada). Kemudian isi dengan kode di atas, lalu jalankan.
25+
Mari kita praktekan kode di atas. Siapkan file program baru dalam project folder (bisa buat project baru atau gunakan project yang sudah ada). Kemudian isi dengan kode di atas, lalu jalankan.
2626

2727
![Contoh komentar inline](images/A_komentar_1_inline_comment.png)
2828

A-operator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ var isEqual = (value == 2)
4444
fmt.Printf("nilai %d (%t) \n", value, isEqual)
4545
```
4646

47-
Pada kode di atas, terdapat statement operasi aritmatika yang hasilnya ditampung oleh variabel `value`. Selanjutnya, variabel tersebut tersebut dibandingkan dengan angka **2** untuk dicek apakah nilainya sama. Jika iya, maka hasilnya adalah `true`, jika tidak maka `false`. Nilai hasil operasi perbandingan tersebut kemudian disimpan dalam variabel `isEqual`.
47+
Pada kode di atas, terdapat statement operasi aritmatika yang hasilnya ditampung oleh variabel `value`. Selanjutnya, variabel tersebut dibandingkan dengan angka **2** untuk dicek apakah nilainya sama. Jika iya, maka hasilnya adalah `true`, jika tidak maka `false`. Nilai hasil operasi perbandingan tersebut kemudian disimpan dalam variabel `isEqual`.
4848

4949
![Penggunaan operator perbandingan](images/A_operator_1_operator_comparison.png)
5050

A-properti-public-dan-private.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Di Go cara menentukan level akses atau modifier sangat mudah, penandanya adalah
4343

4444
Agar lebih mudah dipahami, maka langsung saja kita praktekan.
4545

46-
Pertama buat folder proyek baru bernama `belajar-golang-level-akses`, inisialisasi sebagai projek dengan nama yang sama. Kemudian buat file baru bernama `main.go` di dalamnya, lalu set nama package file tersebut sebagai **main**.
46+
Pertama buat folder proyek baru bernama `belajar-golang-level-akses`, inisialisasi sebagai project dengan nama yang sama. Kemudian buat file baru bernama `main.go` di dalamnya, lalu set nama package file tersebut sebagai **main**.
4747

4848
Kemudian, buat sub-folder baru bernama `library` di dalam folder `belajar-golang-level-akses`. Di dalam folder `library`, buat file baru `library.go`, set nama package-nya **library**.
4949

@@ -104,7 +104,7 @@ OK, sekarang coba jalankan kode yang sudah disiapkan di atas, hasilnya error.
104104

105105
![Error saat menjalankan program](images/A_properti_public_private_2_error.png)
106106

107-
Error di atas disebabkan karena fungsi `introduce()` yang berada dalam package `library` memiliki level akses *undexported* (atau *private*), fungsi ini tidak bisa diakses dari package lain (pada kasus ini `main`). Agar bisa diakses, solusinya bisa dengan menjadikannya ke bentuk *exported* (atau *public*), atau diubah cara pemanggilannya. Di sini kita menggunakan cara ke-2.
107+
Error di atas disebabkan karena fungsi `introduce()` yang berada dalam package `library` memiliki level akses *unexported* (atau *private*), fungsi ini tidak bisa diakses dari package lain (pada kasus ini `main`). Agar bisa diakses, solusinya bisa dengan menjadikannya ke bentuk *exported* (atau *public*), atau diubah cara pemanggilannya. Di sini kita menggunakan cara ke-2.
108108

109109
Tambahkan parameter `name` pada fungsi `SayHello()`, lalu panggil fungsi `introduce()` dengan menyisipkan parameter `name` dari dalam fungsi `SayHello()`.
110110

@@ -195,7 +195,7 @@ fmt.Println("name ", s1.Name)
195195
fmt.Println("grade", s1.Grade)
196196
```
197197

198-
Dari contoh program di atas, bisa disimpulkan bahwa untuk menggunakan `struct` yang berada di package lain, selain nama stuct-nya harus berbentuk *exported*, properti yang diakses juga harus *exported* juga.
198+
Dari contoh program di atas, bisa disimpulkan bahwa untuk menggunakan `struct` yang berada di package lain, selain nama struct-nya harus berbentuk *exported*, properti yang diakses juga harus *exported* juga.
199199

200200
![Contoh penerapan pemanfaatan struct dan propertynya dari package berbeda](images/A_properti_public_private_4_success.png)
201201

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
# A.3. Go Modules
22

3-
Pada bagian ini kita akan belajar cara inisialisasi projek menggunakan Go Modules (atau Modules).
3+
Pada bagian ini kita akan belajar cara inisialisasi project menggunakan Go Modules (atau Modules).
44

55
## A.3.1. Penjelasan
66

7-
Go modules merupakan manajemen dependensi resmi untuk Go. Modules ini diperkenalkan pertama kali di `go1.11`, sebelum itu pengembangan projek Go dilakukan dalam `GOPATH`.
7+
Go modules merupakan manajemen dependensi resmi untuk Go. Modules ini diperkenalkan pertama kali di `go1.11`, sebelum itu pengembangan project Go dilakukan dalam `GOPATH`.
88

9-
Modules digunakan untuk menginisialisasi sebuah projek, sekaligus melakukan manajemen terhadap *3rd party* atau *library* lain yang dipergunakan.
9+
Modules digunakan untuk menginisialisasi sebuah project, sekaligus melakukan manajemen terhadap *3rd party* atau *library* lain yang dipergunakan.
1010

1111
Modules penggunaannya adalah lewat CLI. Dan jika temen-temen sudah sukses meng-*install* Go, maka otomatis bisa mempergunakan Go Modules.
1212

1313
> Modules atau Module di sini merupakan istilah untuk project ya. Jadi jangan bingung.
1414
15-
## A.3.2. Inisialisasi Projek Menggunakan Go Modules
15+
## A.3.2. Inisialisasi Project Menggunakan Go Modules
1616

17-
Command `go mod init` digunakan untuk menginisialisasi projek baru.
17+
Command `go mod init` digunakan untuk menginisialisasi project baru.
1818

1919
Mari kita praktekan, buat folder baru, bisa via CLI atau lewat browser/finder.
2020

2121
```bash
22-
mkdir projek-pertama
22+
mkdir project-pertama
2323
cd project-pertama
2424
go mod init project-pertama
2525
dir
2626
```
2727

28-
Bisa dilihat pada *command* di atas ada direktori `projek-pertama`, dibuat. Setelah masuk ke direktori tersebut, perintah `go mod init project-pertama` dijalankan. Dengan ini maka kita telah menginisialisasi direktori `projek-pertama` sebagai sebuah project Go dengan nama `project-pertama` (kebetulan di sini nama projek sama dengan nama direktori-nya).
28+
Bisa dilihat pada *command* di atas ada direktori `project-pertama`, dibuat. Setelah masuk ke direktori tersebut, perintah `go mod init project-pertama` dijalankan. Dengan ini maka kita telah menginisialisasi direktori `project-pertama` sebagai sebuah project Go dengan nama `project-pertama` (kebetulan di sini nama project sama dengan nama direktori-nya).
2929

3030
![Init project](images/A_go_modules_1_initmodule.png)
3131

@@ -40,10 +40,10 @@ Untuk nama project, umumnya adalah disamakan dengan nama direktori, tapi bisa sa
4040

4141
> Nama project dan Nama module merupakan istilah yang sama.
4242
43-
Eksekusi perintah `go mod init` menghasilkan satu buah file baru bernama `go.mod`. File ini digunakan oleh Go toolchain untuk menandai bahwa folder di mana file tersebut berada adalah folder projek. Jadi jangan di hapus ya file tersebut.
43+
Eksekusi perintah `go mod init` menghasilkan satu buah file baru bernama `go.mod`. File ini digunakan oleh Go toolchain untuk menandai bahwa folder di mana file tersebut berada adalah folder project. Jadi jangan di hapus ya file tersebut.
4444

4545
---
4646

47-
Ok, sekian. Cukup itu saja cara inisialisasi projek di Go.
47+
Ok, sekian. Cukup itu saja cara inisialisasi project di Go.
4848

49-
O iya, sebenarnya selain Go Modules, setup projek di Go juga bisa menggunakan `$GOPATH` ([A.4. Setup GOPATH Dan Workspace](/A-gopath-dan-workspace.html)). Tapi inisialisasi porjek dengan GOPATH sudah outdate dan kurang dianjurkan untuk projek-projek yang dikembangkan menggunakan Go versi terbaru (1.14 ke atas). Jadi setelah chapter ini, bisa langsung lanjut ke [A. Instalasi Editor](/A-instalasi-editor.html).
49+
O iya, sebenarnya selain Go Modules, setup project di Go juga bisa menggunakan `$GOPATH` ([A.4. Setup GOPATH Dan Workspace](/A-gopath-dan-workspace.html)). Tapi inisialisasi porjek dengan GOPATH sudah outdate dan kurang dianjurkan untuk project-project yang dikembangkan menggunakan Go versi terbaru (1.14 ke atas). Jadi setelah chapter ini, bisa langsung lanjut ke [A. Instalasi Editor](/A-instalasi-editor.html).

A-simplified-fan-in-fan-out-pipeline.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Kita akan modifikasi file program `1-dummy-file-generator.go` yang pada chapter
1818

1919
Ok langsung saja, pertama yang perlu dipersiapkan adalah tulis dulu kode program versi sekuensialnya. Bisa langsung copy-paste, atau tulis dari awal dengan mengikut tutorial ini secara keseluruhan. Untuk penjelasan detail program versi sekuensial silakan merujuk ke chapter sebelumnya saja, di sini kita tulis langsung agar bisa cepat dimulai bagian program konkuren.
2020

21-
Siapkan folder projek baru, isinya satu buah file `1-generate-dummy-files-sequentially.go`.
21+
Siapkan folder project baru, isinya satu buah file `1-generate-dummy-files-sequentially.go`.
2222

2323
#### • Import Packages dan Definisi Variabel
2424

A-tipe-data.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,12 @@ Zero value berbeda dengan `nil`. `Nil` adalah nilai kosong, benar-benar kosong.
113113
- slice
114114
- `map`
115115
- `channel`
116-
- interface kosong atau `interface{}`
116+
- interface kosong atau `any` (yang merupakan alias dari `interface{}`)
117117

118-
Nantinya kita akan sering bertemu dengan `nil` setelah masuk pada pembahasan pembahasan-pembahasan tersebut.
118+
> Tipe data `any` hanya tersedia pada go versi `1.18` ke atas
119+
120+
121+
Nantinya kita akan sering bertemu dengan `nil` setelah masuk pada pembahasan-pembahasan tersebut.
119122

120123
---
121124

A-variabel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Pada chapter ini akan dikupas tuntas tentang macam-macam cara deklarasi variabel
88

99
Go memiliki aturan cukup ketat dalam hal penulisan variabel. Ketika deklarasi, tipe data yg digunakan harus dituliskan juga. Istilah lain dari konsep ini adalah **manifest typing**.
1010

11-
Berikut adalah contoh cara pembuatan variabel yang tipe datanya harus ditulis. Silakan tulis pada projek baru atau pada projek yang sudah ada, bebas. Pastikan saja untuk setiap projek baru untuk tidak lupa inisialisasi projek menggunakan command `go mod init <nama-project>`. Ok lanjut.
11+
Berikut adalah contoh cara pembuatan variabel yang tipe datanya harus ditulis. Silakan tulis pada project baru atau pada project yang sudah ada, bebas. Pastikan saja untuk setiap project baru untuk tidak lupa inisialisasi project menggunakan command `go mod init <nama-project>`. Ok lanjut.
1212

1313
```go
1414
package main

B-custom-mux-multiplexer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Pada chapter ini, kita akan belajar membuat custom multiplexer sendiri, lalu memanfaatkannya untuk mempermudah manajemen middleware.
44

5-
Silakan salin projek sebelumnya, chapter [B.19. Middleware http.Handler](/B-middleware-using-http-handler.html), ke folder baru untuk keperluan pembelajaran.
5+
Silakan salin project sebelumnya, chapter [B.19. Middleware http.Handler](/B-middleware-using-http-handler.html), ke folder baru untuk keperluan pembelajaran.
66

77
## B.20.1. Pembuatan Custom Mux
88

B-form-value.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Pada chapter ini kita akan belajar bagaimana cara untuk submit data, dari form d
44

55
# B.12.1. Front End
66

7-
Pertama siapkan folder projek baru, dan sebuah file template view `view.html`. Pada file ini perlu didefinisikan 2 buah template, yaitu `form` dan `result`. Template pertama (`form`) dijadikan landing page program, isinya beberapa inputan untuk submit data.
7+
Pertama siapkan folder project baru, dan sebuah file template view `view.html`. Pada file ini perlu didefinisikan 2 buah template, yaitu `form` dan `result`. Template pertama (`form`) dijadikan landing page program, isinya beberapa inputan untuk submit data.
88

99
```html
1010
{{define "form"}}

B-golang-web-hello-world.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Pada serial chapter B ini, kita masih tetap akan belajar tentang topik fundament
44

55
## B.1.1. Pembuatan Aplikasi
66

7-
Mari belajar dengan praktek langsung. Pertama buat folder projek baru dengan isi `main.go`, tentukan package-nya sebagai `main`, lalu import package `fmt` dan `net/http`.
7+
Mari belajar dengan praktek langsung. Pertama buat folder project baru dengan isi `main.go`, tentukan package-nya sebagai `main`, lalu import package `fmt` dan `net/http`.
88

99
```go
1010
package main

B-middleware-using-http-handler.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Dengan memanfaatkan interface ini, kita akan membuat beberapa middleware. Fungsi
2929

3030
## B.19.2. Persiapan
3131

32-
OK, mari kita praktekan. Pertama duplikat folder projek sebelumnya sebagai folder proyek baru. Lalu pada `main.go`, ubah isi fungsi `ActionStudent` dan `main`.
32+
OK, mari kita praktekan. Pertama duplikat folder project sebelumnya sebagai folder proyek baru. Lalu pada `main.go`, ubah isi fungsi `ActionStudent` dan `main`.
3333

3434
- Fungsi`ActionStudent()`
3535

@@ -116,7 +116,7 @@ server.Handler = handler
116116

117117
## B.19.3. Pembuatan Middleware
118118

119-
Di dalam `middleware.go` ubah fungsi `Auth()` (hasil salinan projek pada chapter sebelumnya) menjadi fungsi `MiddlewareAuth()`. Parameternya objek bertipe `http.Handler`, dan nilai baliknya juga sama.
119+
Di dalam `middleware.go` ubah fungsi `Auth()` (hasil salinan project pada chapter sebelumnya) menjadi fungsi `MiddlewareAuth()`. Parameternya objek bertipe `http.Handler`, dan nilai baliknya juga sama.
120120

121121
```go
122122
func MiddlewareAuth(next http.Handler) http.Handler {

B-render-html-string.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Output HTML yang muncul, selain bersumber dari template view, bisa juga bersumbe
44

55
## B.10.1. Praktek
66

7-
Langsung saja kita praktekkan, siapkan folder projek baru beserta file `main.go`, isi dengan kode berikut.
7+
Langsung saja kita praktekkan, siapkan folder project baru beserta file `main.go`, isi dengan kode berikut.
88

99
```go
1010
package main

B-render-specific-html-template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Pada chapter ini, kita akan belajar bagaimana cara untuk render template html te
44

55
## B.9.1. Front End
66

7-
Siapkan folder projek baru, buat file template bernama `view.html`, lalu isi dengan kode berikut.
7+
Siapkan folder project baru, buat file template bernama `view.html`, lalu isi dengan kode berikut.
88

99
```html
1010
{{define "index"}}

0 commit comments

Comments
 (0)