- Create your library.
- Create a testing.
Tanpa berlama-lama mari kita mulai dengan :
Create your library
Yuk, kita buat library reverse word. Membalikkan kalimat dari kanan ke kiri.
Contoh : Ayunda Buwana menjadi anawuB adnuyA
Langkah-langkah yang harus di lakukan adalah :
Contoh : Ayunda Buwana menjadi anawuB adnuyA
Langkah-langkah yang harus di lakukan adalah :
- Buat folder stringutil
$ mkdir $GOPATH/src/yukibuwana.com/demo/stringutil
- Buat file dengan nama reverse.go
$ vi $GOPATH/src/yukibuwana.com/demo/stringutil/reverse.go
- Untuk code nya adalah
// Package stringutil contains utility functions for working with strings. package stringutil // Reverse returns its argument string reversed rune-wise left to right. func Reverse(s string) string { r := []rune(s) for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) }
- Simpan file tersebut dan compile dengan cara
$ go install $GOPATH/src/yukibuwana.com/demo/stringutil
- Ubah filenya menjadi hello.go menjadi
package main import ( "fmt" "yukibuwana.com/demo/stringutil" ) func main() { s := "Ayunda Buwana" fmt.Println(stringutil.Reverse(s)) }
- Untuk menjalankannya dengan cara
$ go install $GOPATH/src/yukibuwana.com/yuki/hello.go
- Dan hasilnya adalah
$ anawuB adnuyA
Testing
Go menyediakan framework untuk testing dengan menggunakan go test.
Sebelumnya ada kondisi yang harus di perhatikan, yaitu :
- Nama file harus di akhir _test.go
- Nama fungsi harus di awali dengan TestXXX
Tanpa berlama-lama lagi mari kita coba langkah-langkah berikut :
- Tambahkan file reverse_test.go
$ vi $GOPATH/src/yukibuwana.com/demo/stringutil/reverse_test.go
- Untuk code nya adalah
package stringutil import "testing" func TestReverse(t *testing.T) { cases := []struct { in, want string }{ {"Hello, world", "dlrow ,olleH"}, {"Hello, 世界", "界世 ,olleH"}, {"", ""}, } for _, c := range cases { got := Reverse(c.in) if got != c.want { t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want) } } }
- Sedangkan cara menjalankannya adalah
$ go test $GOPATH/src/yukibuwana.com/demo/stringutil ok yukibuwana.com/demo/stringutil 0.004s
Nantikan blog saya selanjutnya tentang go.
Thanks.
Referensi : http://golang.org/doc/code.html
No comments:
Post a Comment