
golang
e421083458
这个作者很懒,什么都没留下…
展开
-
微服务网关V2特性
功能特性从微服务到service mesh选主模型服务发现(开发中)配置自动更新:http自动加载&tcp服务自启动http代理服务性能提升:优化项http代理服务性能提升:效果原创 2021-01-26 23:07:13 · 357 阅读 · 0 评论 -
通过append之后得到的切片更改元素值到底对原切片有没有影响?
slice原理我们之前看过一篇文章:https://www.jianshu.com/p/843aa553b461问题代码,求a与b的值package mainimport ( "fmt")func main() { var a = make([]int, 0, 10) a=append(a,1,2) b:=append(a,3) b[0] = 99 fmt...原创 2019-08-09 10:56:44 · 1719 阅读 · 0 评论 -
Gin 入门实战
#Gin 入门实战Agenda拨开云雾见天日:前置知识讲解万丈高楼平地起:基础中的精髓 及 搭建企业级golang脚手架秤砣虽小压千斤:实战学习开发用户管理系统拨开云雾见天日##1-1 前置知识Go开发web的优势在 Go 语言出现之前,开发者们总是面临非常艰难的抉择,究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如...原创 2019-06-14 18:26:09 · 15390 阅读 · 2 评论 -
《Go 同步和并发设计模式》培训会后整理
今天参加《Go 同步和并发设计模式》主题培训,虽然早上下雨,但是大家一般还是都在9点左右赶到现场。本次分享时间很充沛,晁老师讲的也很细致,4点就结束了高于预期啊呵呵,全程听下讲座来收获还是很多的,下面整理一下今天感觉重点的内容。golang中使用channel的使用率占30%,但错误率缺高于50%错误原因大多是使用channel不适当造成的。Mutex结构体的state字段 第...原创 2019-05-26 19:30:40 · 882 阅读 · 1 评论 -
一个快速上手、轻量级 Golang 公共类库 (golang_common)
目录功能定位功能安装及使用其他功能举例功能定位配置 Golang 基础服务(mysql、redis、http.client、log)比较繁琐,如果想 快速接入 基础服务可以使用本类库。没有多余复杂的功能,方便你拓展其他功能。你可以 import 引用使用,也可以拷贝代码到自己项目中使用。功能支持多套配置文件设置,比如:dev、prod,以及设置自定义配置文件。支持mysql、red...原创 2019-05-19 20:20:37 · 5191 阅读 · 0 评论 -
10分钟学会go module
前两天参加了goperChina的大会收获颇多,go module算一个,下面把总结使用分享给大家,有问题希望指正。基本使用环境准备golang 1.11的朋友,开启 GO11MODULE=on ,并且确保实验目录不在 GOPATH 中golang 1.12的朋友,确保实验目录不在 GOPATH 中。初始化go module环境带git的项目直接从github上面clone一个...原创 2019-05-02 15:56:05 · 31929 阅读 · 3 评论 -
facebookgo/inject 中文文档
package injectimport "github.com/facebookgo/inject"包装反射的注射器。主要考虑到使用依赖注入构建的大型应用程序时通常将涉及大量设置对象图标的无聊工作。 这个类库试图通过创建和连接各种对象来接管这个无聊的工作。它的用途是将对象图与某些(可能不完整的)对象进行对接,其中底层类型被标记为注入。 综上,类库将根据依赖填充对象。 它默认使用单例,支持可选的私有翻译 2017-05-05 17:21:12 · 6104 阅读 · 2 评论 -
golang常见问题整理
golang常见问题整理golang map 判断key是否存在 http://xhrwang.me/2014/12/25/golang-fundamentals-4-map-range.htmlgolang errors.new http://www.jianshu.com/p/f30da01eea97golang 错误处理机制 http://xhrwang.me/2014/12/30原创 2017-05-12 19:50:19 · 2063 阅读 · 0 评论 -
golang如何优雅处理退出
有时候我们想在Go程序中处理Signal信号,比如收到SIGTERM信号后优雅的关闭程序(参看下一节的应用)。Go信号通知机制可以通过往一个channel中发送os.Signal实现。首先我们创建一个os.Signal channel,然后使用signal.Notify注册要接收的信号。package mainimport "fmt"import "os"import "os/signal"转载 2016-09-30 16:07:46 · 7241 阅读 · 0 评论 -
golang之flag简单使用方法
golang之flag简单使用方法package mainimport ( "flag" "fmt")func main() { //flag简单使用方法 backup_dir := flag.String("b", "/home/default_dir", "backup path") debug_mode := flag.Bool("d", false, "debug mo原创 2016-09-30 16:05:24 · 4666 阅读 · 0 评论 -
golang生产者与消费者
使用golang可以很容易实现,生产者与消费者功能。实现一:(只生产一定数量数据)//写入专用通道//一次写10条func produce(p chan<- int) { for i := 0; i < 10; i++ { p <- i //主线程不能产生死锁,所以此处报错 fmt.Println("send:", i) }}//消费专用通道//一次只取10条func c原创 2016-09-28 17:53:24 · 2426 阅读 · 0 评论 -
golang定时器函数
tick := time.Tick(1 * time.second)表示每隔一段生产一条数据到tick通道中。boom := time.After(500 * time.Millisecond)表示在一段时间之后产生一条数据到tick通道中,不会持续产生。func timetick() { tick := time.Tick(100 * time.Millisecond) boo原创 2016-09-28 17:42:34 · 5133 阅读 · 0 评论 -
golang追加写入文件
所有语言你想调试都可以下断言调试,当然也可以输出到日志文件中,此函数方便集成到你的项目中。//打印内容到文件中//tracefile(fmt.Sprintf("receive:%s",v))func tracefile(str_content string) { fd,_:=os.OpenFile("a.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0原创 2016-09-28 17:33:39 · 24572 阅读 · 3 评论 -
docker之ubuntu开启sshd登陆服务
如题,我们使用docker pull elasticsearch 到本地并且安装完毕后,我们发现docker提供的服务确实能用,但我们需要将现有的docker容器添加其他服务该怎么办?又无法登陆到容器内部,ok下面就讲解怎么将现有容器添加ssh登陆。下面我们分两步骤讲解,首先我们需要一个原生ubuntu环境支持sshd登陆服务。然后再讲解其它容器的整合。1. 原生ubuntu环境支持sshd登陆服原创 2016-09-12 11:57:17 · 5990 阅读 · 0 评论 -
go开发的web聊天室
golang聊天室实例本实例基于websocket和jQuery开发。 websocket jQuery本实例特点如下: 1. 支持浏览器客户端和命令行客户端两种方式。 2. 支持私聊。运行实例实例运行运行在go环境中,安装go环境请参照(http://golang.org/doc/install)启动服务器。$ go get github.com/gorilla/websocket$ git原创 2015-12-19 20:50:16 · 4312 阅读 · 2 评论 -
golang并发编程
golang普通方法:package mainimport ( "fmt")func rand_generator_1() int { return rand.Int()}func main() { fmt.Println(rand_generator_1())}golang生成器:package mainimport ( "fmt" "math/rand")原创 2015-11-09 15:36:36 · 5052 阅读 · 0 评论 -
golang之web编程执行流程
为什么golang做web编程比其他语言并发高:Go是通过一个函数ListenAndServe来处理这些事情的,这个底层其实这样处 理的:初始化一个server对象,然后调用了net.Listen("tcp", addr),也就是底层用TCP协议搭建了一个服 务,然后监控我们设置的端口。下面代码来自Go的http包的源码,通过下面的代码我们可以看到整个的http处理过程:func (srv *Se原创 2015-11-10 14:18:41 · 3414 阅读 · 0 评论 -
golang之web编程入门
golang之web编程入门示例,聊聊数行,简单理解。package mainimport ( "fmt" "html/template" "log" "net/http" "strings")func sayhelloName(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析url传递的参数,对于POS原创 2015-11-10 14:35:45 · 5548 阅读 · 0 评论