09 2017 档案

摘要:Context 使用原则 1、不要把Context放在结构体中,要以参数的方式传递 2、以Context作为参数的函数方法,应该把Context作为第一个参数,放在第一位。 3、给一个函数方法传递Context的时候,不要传递nil,如果不知道传递什么,就使用context.TODO 4、Conte 阅读全文
posted @ 2017-09-21 10:08 shhnwangjian 阅读(526) 评论(0) 推荐(0) 编辑
摘要:etcd介绍 GitHub:https://github.com/coreos/etcd 官网:https://coreos.com/etcd/ 下载:https://github.com/coreos/etcd/releases/ 概念:高可用的分布式key-value存储,可以用于配置共享和服务 阅读全文
posted @ 2017-09-20 11:16 shhnwangjian 阅读(656) 评论(0) 推荐(0) 编辑
摘要:安装导入 使用 阅读全文
posted @ 2017-09-18 14:31 shhnwangjian 阅读(434) 评论(0) 推荐(0) 编辑
摘要:安装导入 使用 配置文件内容 代码 阅读全文
posted @ 2017-09-15 16:56 shhnwangjian 阅读(344) 评论(0) 推荐(0) 编辑
摘要:安装导入 使用 阅读全文
posted @ 2017-09-15 16:07 shhnwangjian 阅读(636) 评论(0) 推荐(0) 编辑
摘要:kafka简介 kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。 下载地址:http://kafka.apache.org/downloads 消息的发布(publish)称作producer,消息的订阅(subscri 阅读全文
posted @ 2017-09-14 16:25 shhnwangjian 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:安装导入 使用 1、同步生产者 2、消费者 阅读全文
posted @ 2017-09-14 15:53 shhnwangjian 阅读(615) 评论(0) 推荐(0) 编辑
摘要:安装导入 github: https://github.com/go-sql-driver/mysql https://github.com/jmoiron/sqlx Doc: http://godoc.org/github.com/jmoiron/sqlx http://jmoiron.githu 阅读全文
posted @ 2017-09-13 10:11 shhnwangjian 阅读(1141) 评论(0) 推荐(0) 编辑
摘要:go http编程 Go原生支持http,import(“net/http”) Go的http服务性能和nginx比较接近 几行代码就可以实现一个web服务 1、http server 2、http client 3、http常见请求方法 Get请求 Post请求 Put请求 Delete请求 He 阅读全文
posted @ 2017-09-12 14:55 shhnwangjian 阅读(1467) 评论(0) 推荐(0) 编辑
摘要:go redis 1、安装导入 使用第三方开源的redis库: github.com/garyburd/redigo/redis github:https://github.com/antirez/redis Doc:http://godoc.org/github.com/garyburd/redi 阅读全文
posted @ 2017-09-11 14:23 shhnwangjian 阅读(307) 评论(0) 推荐(0) 编辑
摘要:TCP编程 1、客户端和服务器 2、服务端的处理流程 监听端口 接收客户端的链接 创建goroutine,处理该链接 3、客户端的处理流程 建立与服务端的链接 进行数据收发 关闭链接 服务端代码 客户端代码 发送http请求 阅读全文
posted @ 2017-09-11 11:01 shhnwangjian 阅读(541) 评论(0) 推荐(0) 编辑
摘要:go 单元测试 文件名必须以_test.go结尾 编写的测试用例函数名以Test开头,传入参数固定 使用go test执行单元测试 样例: 代码文件calc.go 单元测试代码文件calc_test.go 执行命令go test -v 阅读全文
posted @ 2017-09-08 16:57 shhnwangjian 阅读(150) 评论(0) 推荐(0) 编辑
摘要:go 定时器 一次定时器(官方不建议使用time.After,推荐time.NewTimer) 上面代码一秒后执行 超时控制 备注:使用定时器后,需要关闭,不关闭存在内存泄漏风险。 阅读全文
posted @ 2017-09-08 15:51 shhnwangjian 阅读(669) 评论(0) 推荐(0) 编辑
摘要:go channel 1、不同goroutine之间如何进行通讯? 全局变量和锁同步 Channel 2、channel概念 类似unix中管道(pipe) 先进先出 线程安全,多个goroutine同时访问,不需要加锁 channel是有类型的,一个整数的channel只能存放整数 3、chann 阅读全文
posted @ 2017-09-08 09:40 shhnwangjian 阅读(354) 评论(0) 推荐(0) 编辑
摘要:进程和线程 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的 一个独立单位。 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更 小的能独立运行的基本单位。 一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。 并发和并行 多线程程序在一个核的cp 阅读全文
posted @ 2017-09-07 16:04 shhnwangjian 阅读(363) 评论(0) 推荐(0) 编辑
摘要:go 错误处理 定义错误示例 自定义错误示例 panic和recover Golang 有2个内置的函数 panic() 和 recover(),用以报告和捕获运行时发生的程序错误,与 error 不同,panic-recover 一般用在函数内部。 golang 的错误处理流程:当一个函数在执行过 阅读全文
posted @ 2017-09-07 15:18 shhnwangjian 阅读(248) 评论(0) 推荐(0) 编辑
摘要:json数据协议 导入包: Import “encoding/json” 序列化: json.Marshal(data interface{}) 反序列化: json.UnMarshal(data []byte, v interface{}) json序列化结构体、序列化map、序列化slice示例 阅读全文
posted @ 2017-09-07 14:17 shhnwangjian 阅读(198) 评论(0) 推荐(0) 编辑
摘要:go 终端读写 操作终端相关文件句柄常量 os.Stdin:标准输入 os.Stdout:标准输出 os.Stderr:标准错误输出 示例: go文件读写 os.File封装所有文件相关操作,之前的 os.Stdin, os.Stdout, os.Stderr都是 *os.File 打开一个文件进行 阅读全文
posted @ 2017-09-07 10:20 shhnwangjian 阅读(1476) 评论(0) 推荐(0) 编辑
摘要:go 反射 反射:可以在运行时动态获取变量的相关信息 import (“reflect”) reflect.TypeOf,获取变量的类型,返回reflect.Type类型 reflect.ValueOf,获取变量的值,返回reflect.Value类型 reflect.Value.Kind,获取变量 阅读全文
posted @ 2017-09-05 11:24 shhnwangjian 阅读(207) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示