php array_column 切换成 go
作者:
Best博客 | 来源:发表于
2020-12-25 13:45 被阅读0次
php中取二维数组指定 column 进行拼接。 array_column()
// SliceColumnJoin 将slice 中struct 的任何一列 取出并拼接.
func SliceColumnJoin(data interface{}, column string, sep string) (str string) {
var s strings.Builder
va := reflect.ValueOf(data)
if va.Kind() == reflect.Ptr {
va = va.Elem()
}
if va.Kind() == reflect.Slice {
for i := 0; i < va.Len(); i++ {
elem := va.Index(i)
if elem.Kind() == reflect.Ptr {
elem = elem.Elem()
}
if elem.Kind() == reflect.Struct {
elemTy := elem.Type()
num := elem.NumField()
for j := 0; j < num; j++ {
name := elemTy.Field(j).Name
if name == column {
if elem.Field(j).Kind() != reflect.String {
return
}
s.WriteString(elem.Field(j).String())
s.WriteString(sep)
}
}
}
}
}
str = strings.Trim(s.String(), sep)
return
}
本文标题:php array_column 切换成 go
本文链接:https://www.haomeiwen.com/subject/urbbnktx.html
网友评论