Skip to content

Instantly share code, notes, and snippets.

@arfan
Created November 25, 2017 09:27
Show Gist options
  • Save arfan/8512ca1d7b5c1f8e070c3e843eaf2893 to your computer and use it in GitHub Desktop.
Save arfan/8512ca1d7b5c1f8e070c3e843eaf2893 to your computer and use it in GitHub Desktop.
go pass struct in function vs java pass object in function
package main
import (
"fmt"
)
type Orang struct {
Umur int
Nama string
Alamat Alamat
}
type Alamat struct {
Jalan string
Kecamatan string
Kelurahan string
}
func buburMerahPutih(o Orang) {
o.Nama = "pemudaHarapanBangsa"
fmt.Println("dalam fungsi buburMerahPutih ", o)
}
func pindahDomisili(o Orang) {
o.Alamat.Jalan = "warung jati"
fmt.Println("dalam fungsi pindahDomisili ", o)
}
func main() {
alamatUdin:= Alamat{
Jalan: "majapahit",
Kecamatan: "pancoran",
Kelurahan: "petukangan",
}
udin := Orang{
Umur:15,
Nama: "udin",
Alamat: alamatUdin,
}
fmt.Println("dalam fungsi main", udin)
buburMerahPutih(udin)
fmt.Println("dalam fungsi main", udin)
pindahDomisili(udin)
fmt.Println("dalam fungsi main", udin)
}
/**
* Created by arfan on 11/25/2017.
*/
class Orang {
public int umur;
public String nama;
public Alamat alamat;
@Override
public String toString() {
return "Orang{" +
"umur=" + umur +
", nama='" + nama + '\'' +
", alamat=" + alamat +
'}';
}
}
class Alamat {
public String jalan;
public String kecamatan;
public String kelurahan;
@Override
public String toString() {
return "Alamat{" +
"jalan='" + jalan + '\'' +
", kecamatan='" + kecamatan + '\'' +
", kelurahan='" + kelurahan + '\'' +
'}';
}
}
public class main {
public static void buburMerahPutih(Orang o) {
o.nama = "pemudaHarapanBangsa";
System.out.println("dalam fungsi buburMerahPutih "+ o);
}
public static void pindahDomisili(Orang o) {
o.alamat.jalan = "warung jati";
System.out.println("dalam fungsi pindahDomisili "+ o);
}
public static void main(String args[]) {
Alamat alamatUdin = new Alamat();
alamatUdin.jalan = "majapahit";
alamatUdin.kecamatan = "pancoran";
alamatUdin.kelurahan = "petukangan";
Orang udin = new Orang();
udin.umur = 15;
udin.nama = "udin";
udin.alamat = alamatUdin;
System.out.println("dalam fungsi main "+ udin);
buburMerahPutih(udin);
System.out.println("dalam fungsi main "+ udin);
pindahDomisili(udin);
System.out.println("dalam fungsi main "+ udin);
}
}
result of main.java
dalam fungsi main Orang{umur=15, nama='udin', alamat=Alamat{jalan='majapahit', kecamatan='pancoran', kelurahan='petukangan'}}
dalam fungsi buburMerahPutih Orang{umur=15, nama='pemudaHarapanBangsa', alamat=Alamat{jalan='majapahit', kecamatan='pancoran', kelurahan='petukangan'}}
dalam fungsi main Orang{umur=15, nama='pemudaHarapanBangsa', alamat=Alamat{jalan='majapahit', kecamatan='pancoran', kelurahan='petukangan'}}
dalam fungsi pindahDomisili Orang{umur=15, nama='pemudaHarapanBangsa', alamat=Alamat{jalan='warung jati', kecamatan='pancoran', kelurahan='petukangan'}}
dalam fungsi main Orang{umur=15, nama='pemudaHarapanBangsa', alamat=Alamat{jalan='warung jati', kecamatan='pancoran', kelurahan='petukangan'}}
result of main.go
dalam fungsi main {15 udin {majapahit pancoran petukangan}}
dalam fungsi buburMerahPutih {15 pemudaHarapanBangsa {majapahit pancoran petukangan}}
dalam fungsi main {15 udin {majapahit pancoran petukangan}}
dalam fungsi pindahDomisili {15 udin {warung jati pancoran petukangan}}
dalam fungsi main {15 udin {majapahit pancoran petukangan}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment