go run server.go
and in another terminal
go run client.go
package main | |
import ( | |
"fmt" | |
) | |
func main() { | |
for i:=0; i<10; i++ { | |
go fmt.Println(i) | |
} |
package main | |
import ( | |
"reflect" | |
"fmt" | |
) | |
type Test struct { | |
fn interface{} | |
args []reflect.Value |
package main | |
import ( | |
"fmt" | |
"net" | |
"io" | |
) | |
func main() { | |
//http.HandleFunc("/", handler) |
func CopyStruct(src, dst interface{}) { | |
sval := reflect.ValueOf(src).Elem() | |
dval := reflect.ValueOf(dst).Elem() | |
for i := 0; i < sval.NumField(); i++ { | |
value := sval.Field(i) | |
name := sval.Type().Field(i).Name | |
dvalue := dval.FieldByName(name) | |
if dvalue.IsValid() == false { |
//error handle | |
//when exit, print stack out | |
func foo() { | |
if err := recover(); err != nil { | |
debug.PrintStack() | |
log.Error("Error: ", err) | |
}() | |
} |