Go语言没有像Java一样的注解快速进行参数的校验,但可以通过struct tag(结构体标签)进行序列化。常用的如: type User struct { ID string `json:"id"` Name string `json:"name"` Age string `json:"...
go
Go 自定义日期时间格式解析解决方案 – 解决 `parsing time xx as xx: cannot parse xx as xx` 错误
Go 自身的 time.Time 类型默认解析的日期格式是 RFC3339 标准,也就是 2006-01-02T15:04:05Z07:00 的格式。如果我们想要在 Gin 的 shouldBindJSON 方法中,传入 YYYY-MM-DD hh:mm:ss 格式的日期格式作为 time.Tim...
golang:常用文件读写操作
文件读取: package main import ( "bufio" "fmt" "io" "io/ioutil" "os" ) func ReadByOs() { //os库 f, err := os.Open("./in.txt") //os.Open():以只读方式打开文件 if err != nil { ...
/bin/sh: ./main: not found或者go run: no go files listed
出现问题的场景 在本机(Windows系统)上生成一个可执行的二进制文件,然后上传到服务器上(Linux系统)上运行,就会出现ggo run: no go files listed的问题。 另外一种问题也是相似的场景:在使用Compose构建镜像...
alpine镜像为基础将go应用部署在docker中
当用docker进行部署go应用时,我们可以选择docker中的golang镜像。 但为了更快的启动速度和更小的磁盘占用,我们推荐以alpine镜像作为基础镜像。 Alpine 操作系统采用了 musl libc 和 busybox 以减小系统的体...
Golang结束子进程以及它的子进程
在用 goreman 管理整个 TiDB 集群的时候,我发现 goreman 的 run stop 功能并不能正常的干掉 TiDB 组件,开始我觉得是我们自己代码的没有,没有很好的处理相关信号,但后来发现,TiDB 这边是压根没有收到信号,所...
手机号码、邮箱格式正则验证
邮箱格式验证 func VerifyEmailFormat(email string) bool { //pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱 pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-...
初识go语言—<<和>>分别表示什么
今天有个同事问我是什么意思。。。如此简单的问题出自一个2年开发经验的嘴里略显尴尬。。还是总结一下吧。。 简单的来说就是像左移位和像右移位 比如说0010 向左移1位就是0100,所左移位就是*2 向右移位...
golang 的Command启动的进程如何关闭
在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/context exec.CommandContext方发实现了context,通过context可以对exec启动的进程结束...
golang runner服务平滑重启——子进程处理
现在线上服务多实例在滚动升级时总是会出现部分任务失败,尽管有失败任务交由其他实例重试的策略,但是有时候滚动升级较快,分配到的新实例又要升级,则导致二次失败,任务就彻底失败了。因为上线时总要注意下上...