diff --git a/array/main.go b/array/main.go new file mode 100644 index 0000000..3e4bc76 --- /dev/null +++ b/array/main.go @@ -0,0 +1,7 @@ +package main + +// Array is fixed length, also data stored in a + +func main() { + +} diff --git a/benchmark/main.go b/benchmark/main.go new file mode 100644 index 0000000..ac1fd6e --- /dev/null +++ b/benchmark/main.go @@ -0,0 +1,46 @@ +package main + +import ( + "fmt" + "time" +) + +type Human interface { + Speak() +} + +type Australia struct { +} + +func (h *Australia) Speak() { + fmt.Println("I am Australia") +} + +func InterfacePresentation(vs ...interface{}) { + t := time.Now() + for _, v := range vs { + b := time.Since(t) + fmt.Println("Before Checking", b) + m, ok := interface{}(v).(Human) + a := time.Since(t) + fmt.Println("After Checking", a) + if ok { + m.Speak() + } + } + +} + +func Presentation(human ...Human) { + for _, h := range human { + h.Speak() + } +} + +func main() { + var persons []interface{} = make([]interface{}, 100) + for i := 0; i <= 100; i++ { + persons = append(persons, &Australia{}) + } + InterfacePresentation(persons...) +} diff --git a/shadow/main.go b/shadow/main.go new file mode 100644 index 0000000..2812fac --- /dev/null +++ b/shadow/main.go @@ -0,0 +1,21 @@ +package main + +import "fmt" + +func f() string { + return "test" +} + +func init() { + fmt.Println(f()) +} + +var g = "g" + +func main() { + s := "hello world" + p := &s + *p = "H2" + fmt.Println(s, s[0], len([]byte(s))) + +}