获得徽章 0
- 1月28日 打卡day3
今日阅读《go基础语法50问,来看看你的go基础合格了吗?》,补充了很多不知道的Go语法知识:
1.string类型的值不可以直接修改,需要转为[]byte 修改再转为string。
2.switch语句可以用fallthrough强制执行下一个case代码块
3.解析JSON时,默认将数值按照float64处理
4.recover不能直接调用,必须在defer函数中执行,直接defer revover()也不行
5.在局部函数里执行defer不会有问题,不会影响到外面
6.初始化嵌套结构体不能直接按顺序填参数,要注意嵌套var s2 = stStudent{stPeople{false, "JimWen"}, 3}
7.在C++中,数组名时饮用,函数内部可修改,GO中,数组名是值传递,函数内部不能修改,传指针才能修改,切片(slice)、字典(map)、通道(channel)、接口(interface)。这些是引用
8.类型断言是用来从一个接口里面读取数值给一个具体的类型变量。类型转换是指转换两个不相同的数据类型。
9.在 range 迭代中,得到的值其实是元素的一份值拷贝,更新拷贝并不会更改原来的元素,想要修改直接用索引进行修改即可。
10.interface类型的类型和值均为nil时才等于nil,如果把一个其他类型的nil变量赋值给空接口,空接口有类型了,不为nil。展开评论点赞 - 1月19日 打卡day2
今天阅读了《****写出漂亮代码的45个小技巧****》,以下是心得体会:
1.try catch中如果流程过长,可以把内部主逻辑抽象成一个单独的方法
2.if 条件如果太复杂,可以用几个有意义的bool值代替之
3.资源释放要写到finally,保证真正能够释放
4.谨慎使用异步:会导致两个线程不是一个事务的,异常之后无法正常回滚数据/ cpu负载过高
5.定义枚举量,不要直接使用数字
6.远程接口调用要设置超时时间
7.需要什么字段select什么字段,不然增加冗余信息,还可能无法使用到覆盖索引展开评论点赞 - 1月16日 打卡day1
学习了一个三刷官方文档法:1.从头看到尾。2.手敲一遍。3.先只写注释,不看文档实现功能,遇到问题再和文档比较。
设计数据库表结构是最重要的环节。
DDD领域驱动设计展开评论点赞