//源码:ArrayColumnarray_column()funcArrayColumn(inputmap[string]map[string]interface{},columnKeystring)[]interface{}{columns:=make([]interface{},0,len(input))for_,val:=rangeinput{ifv,ok:=val[columnKey];ok{columns=append(columns,v)}}returncolumns}//利用php2go.ArrayColumn()
in_array
//InArrayin_array()//haystacksupportedtypes:slice,arrayormapfuncInArray(needleinterface{},haystackinterface{})bool{val:=reflect.ValueOf(haystack)switchval.Kind(){casereflect.Slice,reflect.Array:fori:=0;i<val.Len();i++{ifreflect.DeepEqual(needle,val.Index(i).Interface()){returntrue}}casereflect.Map:for_,k:=rangeval.MapKeys(){ifreflect.DeepEqual(needle,val.MapIndex(k).Interface()){returntrue}}default:panic("haystack:haystacktypemusetbeslice,arrayormap")}returnfalse}
当然有些封装
implode
//Implodeimplode()funcImplode(gluestring,pieces[]string)string{varbufbytes.Bufferl:=len(pieces)for_,str:=rangepieces{buf.WriteString(str)ifl--;l>0{buf.WriteString(glue)}}returnbuf.String()}//go原生写法这样难道不是更加的大略?s:=[]string{"foo","bar","baz"}strings.Join(s,",")
实现的功能Date/Time functionsString functionsURL functionsArray(slice/map) functionsMath functionsdirectory/filesystem functionsvariable handle functionsnetwork functionsmisc functions
