Go
error0318
这个作者很懒,什么都没留下…
展开
-
go 自定义排序,反射,序列化处理业务问题
场景: 前端给后端传多个排序字段,当某一个不为0时,则使用对应指标排序,1为升序,2为降序 举例 order_by_a=0,order_by_b=1,order_by_c=0,则根据b指标进行排序,设定多个指标只会对其中一个进行排序,其余为0自动忽略,如果b相同,则按照D排序,指标数量可能递增 思路: 1.传进来的多个指标需要判断是否走排序逻辑 func IsSort(c Conditions) bool { if c.OrderByA != 0 || c.OrderByB !=...原创 2021-10-28 12:06:54 · 316 阅读 · 0 评论 -
Go语言字符串
字符串中中文占3个字节 字符串底层是个数组,也可以进行切片处理string本身不可变,不能通过下标来修改 如果需要修改,需要先将字符串改为切片再修改,然后改回字符串 package main import ( "fmt" ) func main() { str := "helloworld" arr := []byte(str) // 处理英文和数字,如果有汉字,需要将byte改为rune arr[0] = 'A' str = string(arr) fmt.Println(st.原创 2020-10-16 00:31:59 · 108 阅读 · 0 评论 -
Go语言切片操作
1.slice 是一个引用类型,也是一个结构体 两种方法创建 (1)直接引用存在的数组, (2)make是创建的数组,由切片在底层维护 2.append底层操作 slice append底层操作: (1)先创建一个新数组,进行扩容,初始化为默认值 (2)不能在先前的数组上操作,将之前切片的值复制过来。 (3)如果将append之后的返回值赋值给之前的变量,那么指针指向新的地址,之前的切片将会被当成垃圾进行回收 (4)否则,两个内存共存。 package main impo...原创 2020-10-16 00:05:43 · 150 阅读 · 0 评论