深入理解GO时间处理(time.Time)

1. 前言时间包括时间值和时区, 没有包含时区信息的时间是不完整的、有歧义的. 和外界传递或解析时间数据时, 应当像HTTP协议或unix-timestamp那样, 使用没有时区歧义的格式, 如果使用某些没有包含时区的非标准的时间表示格式(如yyyy-mm-dd HH:MM:SS), 是有隐患的, 因为解析时会使用场景的默认设置, 如系统时区, 数据库默认时区可能引发事故. 确保服务器系统、数据库、应用程序使用统一的时区, 如果因为一些历史原因, 应用程序各自保持着不同时区, 那么编程时要小心检...阅读全文

阅读:65314 评论:0

protobuf与protoc-gen-go

## 什么是protobuf Protobuf(Protocol Buffer)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多...阅读全文

2018-03-25 00:30:32 chalvern
阅读:26075 评论:0

Go 中的 init 函数

main 标识符是随处可见的,每一个 Go 程序都是从一个叫 main 的包中的 main 函数开始的,当 main 函数返回时,程序执行结束。 init 函数也扮演着特殊的角色,接下来我们将描述下 init 函数的属性并介绍下怎么使用它们。 init 函数在包级别被定义,主要用于: - 初始化那些不能被初始化表达式完成初始化的变量 - 检查或者修复程序的状态 - 注册 - 仅执行一次的计算 - 更多其它场合 除了下面将要讨论到的一些差异外,你还可以在正则函数中放置任何...阅读全文

2018-07-28 22:25:25 flexiwind
阅读:13201 评论:1

go grpc(protobuf) 简单使用教程

go gprc 使用 教程 技术栈 grpc go protobuff 1.环境 1.1. 安装protoc 项目地址 https://github.com/protocolbuffers/protobuf 下载protobuff, 有条件的github上直接下载,github下载地址,或者可以从maven仓库下载 在maven仓库中找到对应的版本,进行下载,linux ,windows 都有 1589089027209.png 这里我下载 windows 64 位的这个 下载下来的是可执行文件...阅读全文

2020-05-11 07:32:47 路人甲Boger
阅读:3548 评论:1

Golang:I/O 操作,千万不要小瞧这些知识点

I/O 操作也叫输入输出操作。其中 I 是指 Input,O 是指 Output,用于读或者写数据的,有些语言中也叫流操作,是指数据通信的通道。 Golang 标准库对 IO 的抽象非常精巧,各个组件可以随意组合,可以作为接口设计的典范。 io 包 io 包中提供 I/O 原始操作的一系列接口。它主要包装了一些已有的实现,如 os 包中的那些,并将这些抽象成为实用性的功能和一些其他相关的接口。 在 io 包中最重要的是两个接口:Reader 和 Writer 接口,首先来介绍这读的操作。 Rea...阅读全文

2020-09-27 23:32:41 金刀大菜牙
阅读:1067 评论:0