Golang

Golang 泛型编程初体验

Go 1.18 加入了对泛型的支持。本文将使用切片反转和对象排序两个示例场景来演示泛型的使用。 开始前,我们先了解一下泛型的基本概念。 1 泛型是什么? 泛型(Generics)是编程语言中的一种范式,其允许在定义类(Go 中的结构体)、接 …

阅读更多

使用 Golang 实现喜马拉雅音频下载

「喜马拉雅」是本人非常喜欢的一款音频软件。里面有很多优质的音频节目,丰富了我的日常生活。 本文的诞生来自于我的个人需求:本人是喜马拉雅 APP 的重度用户,几乎每天都会使用其来听一些经典,它的确是给了我「每一天的精神食粮」。有时,有一些音频 …

阅读更多

Golang 高效的字符串拼接方法

日常编码中离不开字符串拼接,最常用的当属原生的拼接方式(+=)。但其在少量次数拼接中性能还可以,若进行大量的字符串拼接则应使用其它更高效的方式。 本文首先列出 Golang 中常用的几种字符串拼接方式,然后会对它们进行基准测试,以期阅读完本 …

阅读更多

LeetCode 707 设计链表

1 题目描述 设计链表的实现。您可以选择使用单链表或者双链表来实现。 单链表中的节点应有val和next两个属性,val为当前节点的值,next为下一个节点的指针或引用。 若使用双链表实现,则需要一个额外的属性prev来指向当前节点的前一个 …

阅读更多

Golang text/template 使用样例

Golang text/template 包是一个数据驱动的模版渲染工具。提供条件判断,数组或 map 遍历;参数赋值,函数或方法调用;自定义函数扩展,模板嵌套及重用等功能。基于该工具,可以轻松实现复杂场景的文本渲染。如Helm …

阅读更多

LeetCode 94 二叉树中序遍历

1 题目描述 给定一棵二叉树,返回其节点值的中序遍历结果。 例如: 输入:[1,null,2,3] 1 \ 2 / 3 输出:[1,3,2] 注:递归较简单,您可否使用循环来实现?

阅读更多

LeetCode 206 反转链表

1 题目描述 对单链表进行反转。 例如: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 注:链表反转可使用循环或者递归方式实现,您 …

阅读更多