- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 golang 的非缓冲通道
golang 的非缓冲通道,顾名思义也就是缓冲区是 0。一个通道发送和接收数据,默认是阻塞的。当一个数据被发送到通道时,在发送语句中被阻塞,直到另一个 goroutine 从该通道读取数据。相对地,当从通道读取数据时,读取被阻塞,直到一个goroutine 将数据写入该通道。/** * @Author: v_bivwei * @Description: * @Date: 2020/12/30 21:36 */package mainimport ( "fmt" "time
2020-12-30 22:10:31 259
转载 mysql 分组后再获取组内排序的第一条数据
如图,如果我们按 number 分组后再按 is_bak 从大到小排序获取最大的第一条数据,那么最后结果就是 id 为 1,4,6 这 3 条。select t.* from ( select distinct(id) as tt,t1.* from a_t as t1 order by is_bak desc) as t group by number order by id asc;参考https://blog.csdn.net/persistencegoing/article/det.
2020-12-14 17:58:24 7957
原创 golang 中的字符串拼接方式
目录+ 号拼接fmt.Sprintf()strings.Join()buffer.WriteStringstrings.Builder结论+ 号拼接对于 + 号拼接,跟 php 的 . 一样,不过由于 go 中的字符串是不可变的数据类型,因此用 + 连接会产生一个新的字符串对效率有影响,在有大量字符串操作时,不建议用这种方式,不过对于少量的字符串处理,任何一种方式的处理效率都差不多。fmt.Sprintf() str := fmt.Sprintf("我是%s", "吴彦祖") log.Fa
2020-12-12 14:09:05 664
原创 golang 实现二分查找
/** * @Author: binwei * @Description: * @Date: 2020/12/3 10:59 */package mainimport ( "fmt")func main() { arr := []int{0, 1, 2, 3, 4, 5, 10} fmt.Println(binarySearch(arr, 10)) fmt.Println(binarySearchV2([]int{0, 1, 2, 3, 4, 5, 10}
2020-12-03 11:28:50 211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人