Record dalam Golang

20 views
Skip to first unread message

Anton Firdaus

unread,
Oct 25, 2019, 9:27:29 PM10/25/19
to golang-id
Perkenalkan nama saya Anton. Saya pemula dalam golang. Saya mengalami kesulitan 
dalam menerjemahkan array record dalam golang.

Contoh dalam pascal:

type 
     mahasiswa : record
     nama : string;
     umur : integer;
     iniversitas : string;
     kota : string[20];

var
    data : array[1..100] of mahasiswa


Bila diterjemahkan dalam golang bagaimana?

type mahasiswa struct {
        nama  string
        umur   int
        universitas string
        kota  string

func main() {
        var mhs := new(mahasiswa)
        // bagaimana pendefinisian untuk array mahasiswa???

}


Terima Kasih
Salam

Shulhan

unread,
Oct 26, 2019, 2:33:00 AM10/26/19
to Anton Firdaus, gola...@googlegroups.com
On Fri, 25 Oct 2019 18:27:28 -0700 (PDT)
Anton Firdaus <antonfi...@gmail.com> wrote:

> Perkenalkan nama saya Anton. Saya pemula dalam golang. Saya mengalami
> kesulitan
> dalam menerjemahkan array record dalam golang.
>
> Contoh dalam pascal:
>
> type
> mahasiswa : record
> nama : string;
> umur : integer;
> iniversitas : string;
> kota : string[20];
>
> var
> data : array[1..100] of mahasiswa
>
>
> Bila diterjemahkan dalam golang bagaimana?
>
> type mahasiswa struct {
> nama string
> umur int
> universitas string
> kota string
>

Benar, cuma kurang tanda kurung tutup ;)

> func main() {
> var mhs := new(mahasiswa)
> // bagaimana pendefinisian untuk array mahasiswa???
>
> }

Untuk definisi array hampir mirip dengan Pascal,

var listMahasiswa [100]mahasiswa
listMahasiswa[0] = mahasiswa{
nama: "Anton Firdaus",
age: 18,
}

Namun di Go, slice lebih sering dipakai daripada array, karena lebih
fleksibel [2].

Untuk membuat slice dari mahasiswa dengan kapasitas awal 100,

var listMahasiswa = make([]mahasiswa, 0, 100)

kemudian kita dapat tambahkan dengan fungsi bawaan append,

mhs := mahasiswa{
nama: "Anton Firdaus",
umur: 18,
}

listMahasiswa = append(listMahasiswa, mhs)

Ingat bahwa kapasitas slice bukan maksimum dari jumlah yang dapat
ditampung, tapi jumlah penyimpanan awal. Slice listMahasiswa dapat
di-append terus melebihi dari 100.

[1] https://tour.golang-id.org/moretypes/6
[1] https://tour.golang-id.org/moretypes/13

--
{ "github":"github.com/shuLhan", "site":"kilabit.info" }
Reply all
Reply to author
Forward
0 new messages