随笔分类 -  [01]Golang

摘要:安装protobuf 在windows下,直接下载release版本https://github.com/protocolbuffers/protobuf/releases/tag/v3.9.0然后把bin目录加入到环境变量中如果是在Linux下,下载对应的版本,然后编译,把编译后的文件加入env中 阅读全文
posted @ 2019-07-14 01:58 九卷 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:gRPC 是什么 gRPC是goole开源的一个RPC框架和库,支持多语言之间的通信。底层通信采用的是 HTTP2 协议。gRPC在设计上使用了 ProtoBuf 这种接口描述语言。这种IDL语言可以定义各种服务,google还提供了一种工具 protoc 来编译这种IDL语言,生成各种各样的语言来 阅读全文
posted @ 2019-07-02 10:52 九卷 阅读(2216) 评论(0) 推荐(0) 编辑
摘要:一:简介 因为并发程序要考虑很多的细节,以保证对共享变量的正确访问,使得并发编程在很多情况下变得很复杂。但是Go语言在开发并发时,是比较简洁的。它通过channel来传递数据。数据竞争这个问题在golang的设计上就进行了规避了。它提倡用通信的方式实现共享,而不要以共享方式来通信Go语言用2种手段来 阅读全文
posted @ 2019-06-11 00:06 九卷 阅读(4154) 评论(0) 推荐(0) 编辑
摘要:一:连接到 etcd package main import ( "fmt" "go.etcd.io/etcd/clientv3" "time" ) //连接 func main() { //客户端配置 config := clientv3.Config{ Endpoints: []string{" 阅读全文
posted @ 2019-04-18 20:47 九卷 阅读(3478) 评论(0) 推荐(0) 编辑
摘要:go version go1.10.3 Go中的字符串用法,可以在 godoc.org 上查看语法和用法。 最简单的语法就是获取字符串中的子串 s := "hello world" fmt.Println(s[1:3], s[0:]) 一:查找 1、查找返回索引 godoc.org上索引的方法 In 阅读全文
posted @ 2019-04-14 13:43 九卷 阅读(424) 评论(0) 推荐(0) 编辑
摘要:gin框架教程代码地址: https://github.com/jiujuan/gin tutorial demo目录: 01quickstart 02parameter 03route 04middleware/basic 05log/basic 06logrus 07bind 08validat 阅读全文
posted @ 2019-04-03 20:02 九卷 阅读(757) 评论(0) 推荐(0) 编辑
摘要:gin框架教程代码地址: https://github.com/jiujuan/gin-tutorial ## JWT介绍 JWT (JSON Web Token) 是一种规范。这个规范允许我们使用JWT在用户和服务器之间安全传递信息. ## JWT的组成: jwt分3个部分,Header 头部、P 阅读全文
posted @ 2019-04-01 22:54 九卷 阅读(3951) 评论(0) 推荐(0) 编辑
摘要:golang使用的版本: go version go1.10.3 一:功能介绍 time的一些功能,比如时区,像linux中的定时器,时间计算等 格式化时间 时区(Location) 时间计算 Ticker Timer(定时器) Time一般分为时间Time 和 时段Duration ## 二:Ti 阅读全文
posted @ 2019-03-26 18:39 九卷 阅读(1093) 评论(0) 推荐(1) 编辑
摘要:一:接口概要 接口是一种重要的类型,他是一组确定的方法集合。 一个接口变量可以存储任何实现了接口方法的具体值。一个重要的例子就是io.Reader和io.Writer type Reader interface { Read(p []byte) (n int, err error) } type W 阅读全文
posted @ 2017-10-22 16:21 九卷 阅读(1504) 评论(0) 推荐(0) 编辑
摘要:一:redis示例 使用redis的包是: github.com/garyburd/redigo/redis 1:编写第一个示例: 链接,设置,获取 redis_basic.go 2: 管道操作示例请求/响应服务可以实现持续处理新请求,客户端可以发送多个命令到服务器而无需等待响应,最后在一次读取多个 阅读全文
posted @ 2017-06-15 20:59 九卷 阅读(1147) 评论(0) 推荐(0) 编辑
摘要:gin框架教程代码地址: https://github.com/jiujuan/gin-tutorial 我们在用http的时候一般都会用一些web框架来进行开发,gin就是这样的一个框架,它有哪些特点呢 一:gin特点 1、性能优秀2、基于官方的net/http的有限封装3、方便 灵活的中间件4、 阅读全文
posted @ 2017-06-10 17:08 九卷 阅读(8298) 评论(0) 推荐(2) 编辑
摘要:一:PRC是什么? RPC(Remote Procedure Call) 远程过程调用,是一个计算通信协议。该协议允许一台计算机上的程序调用另外一台计算机上的程序。远程过程调用就是2个不在同一台计算机上的程序方法,根据一定的规则可以彼此进行调用 二:为什么要用RPC 当一个公司跨部门合作,或者跨公司 阅读全文
posted @ 2017-04-16 17:20 九卷 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:http包提供了HTTP客户端和服务端的实现 一:http客户端的几种方法 1、 func (c *Client) Get(url string) (resp *Response, err error)说明: 利用get方法请求指定的url,Get请求指定的页面信息,并返回实体主体 2、func ( 阅读全文
posted @ 2017-04-15 16:43 九卷 阅读(5556) 评论(0) 推荐(0) 编辑
摘要:摘要 在这篇文章里我们试图阐明Go语言中的反射是如何工作的。每种语言的反射模型是不同的(许多语言不支持反射),然而本文只与Go有关,所以我们接下来所提到的“反射”都是指Go语言中的反射。 阅读全文
posted @ 2016-10-22 15:35 九卷 阅读(708) 评论(0) 推荐(0) 编辑
摘要:当我们要表示同一种数据类型时候,可以用到数组,切片和字典。 当我们要表示不同的数据类型呢?这时候就要用到结构体了 一:定义struct 关键字 type 和 struct 来定义结构体 type student struct { name string age int } 二:struct赋值 va 阅读全文
posted @ 2016-08-21 22:53 九卷 阅读(372) 评论(0) 推荐(0) 编辑
摘要:一:数组 数组是一个具有相同类型元素,固定长度的有序集合,一般定义如下:var x [5]int表示数组是一个整数型数组,长度为5数组的几种定义方式 a: var来定义数组,然后依次赋值 package main import "fmt" func main() { var x [4]int x[0 阅读全文
posted @ 2016-08-21 21:59 九卷 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一:Go条件语句 package main import "fmt" // go条件判断语句 func main() { var var1 int = 10 if var1 < 21 { fmt.Println("if 语法,小于") } if var1 < 20 { fmt.Println("if 阅读全文
posted @ 2016-08-20 21:23 九卷 阅读(462) 评论(0) 推荐(0) 编辑
摘要:一:Go数据类型 1.1 Go语言按照分类有以下几种数据类型 布尔型 布尔型的是一个常量true或者false 数字类型 整型int和浮点型 float32, float64 字符串类型 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用U 阅读全文
posted @ 2016-08-20 20:37 九卷 阅读(496) 评论(0) 推荐(0) 编辑