-
一 背景
在使用cli打印结果的时候,对结果进行格式化输出,但限于内容较长的,不好自动排版,需要明确宽度等其他字段,可以使用gotable可以根据字段的长度自动调整每列的宽度,并且自动
-
用golang来实现的webserver通常是是这样的
//main.go
package main
import (
"fmt"
"io"
"net/http"
)
func defaultHandler(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "<h1>Golang HTTP</h1>")
}
func main() {
mux :=
-
注:本文以Windos系统上Go SDK v1.8进行讲解
1.JSON介绍
在进行前后分离式开发时,json显得格外的重要,因为他是链接前后台重要的枢纽json是储存和交换文本信息的语法,他类似于xml,但是他比xml更
-
字符串解码
给定一个经过编码的字符串,返回它解码后的字符串。
编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正重复 k 次。注意 k 保证为正整数。
你可以认为输入字符串总
-
简介
CountMinSketch是一种计数器,用来统计一个元素的计数,它能够以一个非常小的空间统计大量元素的计数,同时保证高的性能及准确性。
与布隆过滤器类似,由于它是基于概率的,因此它所
-
Go crypto/tls 的 VerifyConnection 会在标准证书校验后接收 ConnectionState,适合补充证书属性、连接状态和恢复连接策略。本文比较默认校验、VerifyPeerCertificate 与 VerifyConnection 的边界,并说明 InsecureSkipVerify 和服务端客户端证书的风险。
-
用 Go 1.27 实验性 simd API 把 RGBA 像素整理为 uint32 向量,批量调整 RGB、保留 Alpha,并正确处理尾部像素与架构回退。
-
讲清 Go fmt.Appendf 如何把格式化结果直接追加到字节切片,并用预分配、返回值接收和基准测试控制分配。
-
讲清 Go io.PipeWriter.CloseWithError 如何把生产端错误传给读端,覆盖 Close、EOF、部分数据、Read 循环和关闭顺序等关键边界。
-
Go 的 http.NewRequest 不能只看 ContentLength=0 判断 body 是否为空。本文对比 nil、http.NoBody、空 bytes.Reader/strings.Reader 与自定义 Reader,说明 Request.Body、ContentLength、GetBody 的组合语义,并给出可直接复用的判断代码。
-
用 Go filepath.WalkDir 按扩展名统计普通文件,说明目录内符号链接、错误回调、SkipDir、大小写和根路径链接的边界。
-
testing.T.Cleanup 会在当前测试及其子测试完成后执行,多个回调按后注册先执行。本文用 t.Run、t.Name 和事件记录说明父子测试清理归属、注册顺序、并行子测试边界及常见误区。
-
slices.Clip 会把 Go 切片的 cap 收紧到 len,避免后续 append 复用多余容量;但它不复制底层数组,真正要释放长期持有的大数组仍需建立独立副本。
-
围绕 Go 1.25 testing 新增的 Attr 和 Output 能力,讲清测试元数据、go test -json、CI 报告聚合、失败上下文和团队测试日志规范。
-
GmailAPI对邮件正文采用Base64URL安全编码(base64url),而非标准Base64;若误用base64.StdEncoding.DecodeString,将导致解码失败、截断或乱码(如仅输出"<ht"),本文详解Go中的完整解码流程与避坑要点。