- 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