TLS 介绍 TLS(Transport Layer Security)是一个保证信息安全的应用层协议。它的前身是 SSL(Secure Socket Layer)。它是一套定义了如何对由 TCP 传输的报文进行加密的协议。 HTTP 协议传输报文时,数据是明文传递的,意味着你和服务器之间的通信是可 ...
分类:
其他好文 时间:
2020-07-12 14:00:55
阅读次数:
59
protobuf 是一种数据交换格式,类似json。 grpc 是一种服务调用协议。 golang 需要下载安装 protoc 二进制文件支持编译 下载地址 编译protobuf协议需要安装github.com/golang/protobuf包进行编译支持 支持grpc需要安装go install ...
分类:
其他好文 时间:
2020-07-11 17:42:09
阅读次数:
51
当程序出现异常时,会抛出一个panic来终止程序,如果不想让程序终止,可以通过defer recover() 来处理,见下图(这样处理就不会使程序崩溃): ...
分类:
其他好文 时间:
2020-07-11 13:14:10
阅读次数:
59
go-snowflake 在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串,所以它无法被排序。 ...
分类:
其他好文 时间:
2020-07-11 11:17:30
阅读次数:
138
package main import ( "crypto/md5" "fmt" "io" ) func main() { // 第一种 var str = "golang" slice := []byte(str) res := md5.Sum(slice) fmt.Println(res) // ...
分类:
其他好文 时间:
2020-07-11 09:58:03
阅读次数:
83
package main import ( "flag" "fmt" ) //**Demo1**: func main() { t1 := flag.Int("w", 0, "demo test") //int变量 t2 := flag.String("a", "Hello", "demo test ...
分类:
其他好文 时间:
2020-07-10 15:22:54
阅读次数:
74
在开始使用golang的时候,经常会遇到各种问题,总结在此 1. unrecognized import path "golang.org/x/.. golang 在 github 上建立了一个镜像库,下载github上的镜像库放入GOPATH下即可 mkdir -p $GOPATH/src/gol ...
分类:
其他好文 时间:
2020-07-10 00:13:21
阅读次数:
53
此文基于switch的注意事项而发,其中某些情况可能并不常见,但还是小心为好,能够帮助我们精简代码(编译环境:cmder) 匹配项不精准 ①某些case可能永远匹配不到,造成浪费 package main import "fmt" func test(char byte) byte { return ...
分类:
其他好文 时间:
2020-07-09 22:33:34
阅读次数:
77
前言 我们知道Golang处理异常是用error返回的方式,然后调用方根据error的值走不同的处理逻辑。但是,如果程序触发其他的严重异常,比如说数组越界,程序就要直接崩溃。Golang有没有一种异常捕获和恢复机制呢?这个就是本文要讲的panic和recover。其中recover要配合defer使 ...
分类:
其他好文 时间:
2020-07-09 11:57:33
阅读次数:
63
packageesimport("bytes""context""encoding/json""errors""fmt"elasticsearch"github.com/elastic/go-elasticsearch/v6"log"github.com/sirupsen/logrus")vares*elasticsearch.ClientvaresAddrstring="http://10.17
分类:
其他好文 时间:
2020-07-09 09:24:27
阅读次数:
84