> For the complete documentation index, see [llms.txt](https://zakimaliki.gitbook.io/golang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zakimaliki.gitbook.io/golang/cara-membuat-package-di-golang.md).

# Cara membuat Package di Golang

Di Go, package adalah cara untuk mengorganisir dan mengelompokkan kode ke dalam unit-unit yang dapat digunakan kembali. Sebuah package adalah kumpulan file Go yang berada dalam satu direktori. Setiap file dalam package biasanya mengandung beberapa fungsi, variabel, atau tipe data yang saling terkait.

Jika file `go.mod` berada di dalam satu folder bersama dengan file-file Go lainnya, Anda dapat membuat package di dalam folder tersebut. Struktur direktorinya akan terlihat seperti ini:

```go
project-folder/
  ├── go.mod
  ├── main.go
  └── mypackage/
      └── mypackage.go
```

Di sini, `go.mod` dan `main.go` berada di dalam folder `project-folder`, dan folder `mypackage` juga berada di dalam `project-folder`.

Langkah-langkahnya adalah sebagai berikut:

#### 1. Buat File .go di dalam Folder Package:

Buat file-file `.go` di dalam folder package (`mypackage`). Misalnya, buat file `mypackage.go` di dalam folder `mypackage`:

```go
// mypackage/mypackage.go
package mypackage

import "fmt"

func SayHello() {
    fmt.Println("Hello from mypackage!")
}
```

#### 2. Penggunaan Package di Dalam Proyek:

Anda dapat mengimport dan menggunakan package `mypackage` di dalam file `main.go` atau file-file Go lainnya yang berada di dalam folder yang sama:

```go
// main.go
package main

import "./mypackage"

func main() {
    mypackage.SayHello()
}
```

Dalam contoh ini, `main.go` mengimport `mypackage` dengan menggunakan path lokal (`"./mypackage"`) karena keduanya berada di dalam folder yang sama. Anda dapat mengganti path ini sesuai dengan struktur folder proyek Anda.

#### 3. Menjalankan Proyek:

Untuk menjalankan proyek, Anda dapat menggunakan perintah `go run` di dalam folder `project-folder`:

```sh
cd project-folder
go run main.go
```

Outputnya akan menjadi:

```sh
Hello from mypackage!
```

Dengan struktur seperti ini, package `mypackage` berada di dalam folder yang sama dengan `go.mod`, sehingga dapat diimpor dan digunakan dengan relatif menggunakan path lokal sesuai dengan struktur folder proyek Anda.

Di bab berikutnya akan dibahas tentang bagaimana membuat multi return Function di Golang
