Kubernetes Volume 挂载
挂载配置文件到应用程序所在的目录
应用程序代码:
1 | package main |
应用程序代码:
1 | package main |
Golang的 sync mutex是阻塞互斥锁,在一个 goroutine 获得 Mutex 后,其他 goroutine 只能等到这个 goroutine 释放该 Mutex,使用 Lock() 加锁后,不能再继续对其加锁,直到利用 Unlock() 解锁后才能再加锁。但有时逻辑里面需要 非阻塞模式的拿锁 及 非阻塞得知锁的状态。trylock, 可以用非阻塞的模型进行拿锁,要么拿到锁,要么锁被别人拿到。 islocked, 就是判断锁的状态。

用上 Go module 之后,发布的版本都在 v1 上面,用了这么长时间遇到了升级 v2 版本的问题。记录一下
Etcd 分布式锁例子
大文件分割与合并例子
分片切割大文件例子
在网络编程中,经常用http.Post 发送文件到远程服务器,可以通过自己构造multipart/form-data; boundary来实现。
一般是这么做:
1 | buf := new(bytes.Buffer) |
goto 语句可以无条件地转移到过程中指定的行。
通常与条件语句配合使用。可用来实现条件转移,构成循环,跳出循环体等功能。
在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱。
goto对应(标签)既可以定义在for循环前面,也可以定义在for循环后面,当跳转到标签地方时,继续执行标签下面的代码。
1 | func main() { |