Golang

Golang 高效的字符串拼接方法

日常编码中离不开字符串拼接,最常用的当属原生的拼接方式(+=)。但其在少量次数拼接中性能还可以,若进行大量的字符串拼接则应使用其它更高效的方式。 本文首先列出Golang中常用的几种字符串拼接方式,然后会对它们进行基准测试,以期阅读完本文,我们能对各种拼接方法的适用场景有一个基本了解。 1 字符串拼接有几种方法? 孔乙己问:“回字有几种写法?”。我们在Golang使用中也难免会被问到:“字符串拼接有几种方法?”。下面就一一道来。

阅读更多

LeetCode 707 设计链表

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

阅读更多

Golang text/template 使用样例

Golang text/template 包是一个数据驱动的模版渲染工具。提供条件判断,数组或map遍历;参数赋值,函数或方法调用;自定义函数扩展,模板嵌套及重用等功能。基于该工具,可以轻松实现复杂场景的文本渲染。如Helm Template基于此实现了功能强大的Kubernetes配置文件渲染工作。 本文使用一个样例来演示text/template的使用,代码已托管至GitHub。

阅读更多

LeetCode 94 二叉树中序遍历

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

阅读更多

LeetCode 92 反转链表 II

1 题目描述 对单链表的某一段(自第m个位置起到第n个位置止)进行反转。 例如: 输入:1->2->3->4->5->NULL, m = 2, n = 4 输出:1->4->3->2->5->NULL 注:1 ≤ m ≤ n ≤ length(链表长度)

阅读更多