Go语言中文网 为您找到相关结果 12

gorm中的公共方法判断reflect.Value的值是否为空值

``` func isBlank(value reflect.Value) bool { switch value.Kind() { case reflect.String: return value.Len() == 0 case reflect.Bool: return !value.Bool() case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return value.Int() == 0 case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr...阅读全文

博文 2017-12-23 10:48:19 fightingforbing

golang 学习记录

package main /* #include #include struct CType { int Id; int Id2; }; typedef struct CType TheCType; TheCType *getTheArray(int length){ TheCType *ctype; ctype = malloc(length*sizeof(TheCType)); return ctype; } void Free(TheCType *ctype){ free(ctype); } */ import "C" import ( //"fmt" "reflect" //"time" "unsafe" ) var theGoSlice [...阅读全文

博文 2014-10-04 19:27:30 984195889

多次close同一个资源是否有问题?

请教个问题 我有个*netTCPConn, 我在一个routinge做了defer c.Close(),另一个也做了defer c.Close()可不可以? 如果不可以有没有好的办法? 我看 TCPConn有个ok()会判断c是有有效,是否这样就可以多次close了呢? 例如: ```go func aaa(c *net.TCPConn) { defer c.Close() go bbb(c) } func bbb(c *net.TCPConn) { defer c.Close() } ``...阅读全文

Golang不使用MD5比较文件内容是否一致

func compare(spath, dpath string) bool { sinfo, err := os.Lstat(spath) if err != nil { return false } dinfo, err := os.Lstat(dpath) if err != nil { return false } if sinfo.Size() != dinfo.Size() || !sinfo.ModTime().Equal(dinfo.ModTime()) { return false } return comparefile(spath, dpath) } func comparefile(spath, dpath string) bool { sFile, err := o...阅读全文

博文 2016-09-10 14:00:03 fyxichen