准备 Nginx 配置 user root admin; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type text/html; gzip on; gzip_types text/css text/x-component …
最新文章
重新注册了个域名,有时候 web 开发没有域名还真是不方便。一下买了五年,美滋滋,当然顺便也要给 Github Pages 加个自己的烙印的。
为 Github Pages 添加自定义域名 如下进入设置页面,将自定义的域名填入Customer domain下的输入框中,如果要用 HTTPS 传输,则勾选Enforce HTTPS复选框。
效果就是在仓库中生成了一个 CNAME 文件,文件内容就是自 …
Go 有一个由go test命令和testing包组成的轻量级测试框架。testing包为 Go 包提供自动化测试支持,并和go test命令配合使用,自动运行符合以下形式的任意函数:
func TestXxx(*testing.T) 被测试函数Xxx首字母为大写。在测试函数中使用Error、Fail或相关方法来标记失败。如果测试函数调用一个失败的函数,如t.Error或者t.Fail,则认为测试 …
在 Go 语言中,所有成员在包内均可访问,无论是否在同一源码文件中。但只有名称首字母为大写的成员可导出,在包外可视。
但是在进行代码重构时,我们会将一些内部模块陆续分离开来,以独立包的形式维护。这时,基于首字母大小写的访问权限控制则显示过于粗犷。我们希望这些包的可导出成员仅在特定范围内可访问,而不是向所有用户公开。
内部包机制提供了这种访问权限控制:所有保存在 internal 目录下的包都只能被 …
语句 defer 向当前函数注册稍后执行的函数调用。这些调用被称作延迟调用,因为它们直到当前函数执行结束前才被执行,常用于资源释放、解除锁定以及错误处理等操作。
延迟调用,注册的是调用,参数在注册时被复制并缓存起来。多个延迟注册按 FILO 的次序执行。
func main() { x, y := 1, 2 defer func(i int) { fmt.Println("defer x, …