
golong
文章平均质量分 54
runner668
这个作者很懒,什么都没留下…
展开
-
ubuntu安装golang开发环境
转自:https://www.cnblogs.com/tinywan/p/6928300.html通过两种方式安装一、通过apt-get安装1、安装sudo apt-get install golang2、设置GOPATH变量GOPATH是扩展库的目录,Go先搜索标准库目录,然后搜索GOPATH库目录,所有的非标准库都放在GOPATH下。以GOPATH为“/usr/local/go”目录为例子:(...转载 2018-07-08 16:46:40 · 43233 阅读 · 1 评论 -
Golang微服务教程
转自:https://segmentfault.com/a/1190000015135650?utm_campaign=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com前言系列概览《Golang 微服务教程》分为 10 篇,总结微服务开发、测试到部署的完整过程。本节先介绍微服务...转载 2019-05-26 16:45:41 · 520 阅读 · 0 评论 -
Golang之GDB调试
转:https://blog.youkuaiyun.com/huwh_/article/details/77140752GDB简介GDB是FSF(自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。使用GDB可以做如下事情:启动程序,可以按照开发者的自定义要求运行程序。 可让被调试的程序在开发者设定的调置的断点处停住。(断点可以是条件表达式) 当程序被停住时,可以检查此时程序中所发...转载 2019-08-08 11:01:32 · 420 阅读 · 0 评论 -
Golang中context使用总结
Context背景 和 适用场景golang在1.6.2的时候还没有自己的context,在1.7的版本中就把golang.org/x/net/context包被加入到了官方的库中。golang 的 Context包,是专门用来简化对于处理单个请求的多个goroutine之间与请求域的数据、取消信号、截止时间等相关操作,这些操作可能涉及多个 API 调用。比如有一个网络请求Request,...原创 2019-08-08 16:14:59 · 1550 阅读 · 0 评论 -
K8s通过reflect实现多态
转子:https://www.jianshu.com/p/4d8c4db86943关于reflect包使用可以参考:https://www.cnblogs.com/ksir16/p/9040656.html我们知道在golang中可以把函数赋值给一个变量,然后通过函数名调用函数。下面的问题是我们如何实现callFunc()的内容来完成所要的功能呢。目前已知的办法好像是不行...转载 2019-08-14 16:03:06 · 235 阅读 · 0 评论 -
go-restful框架的使用和实现
go-restful框架的使用和实现简单介绍go-restful框架应用于kubernetes源码上,且使用起来简单灵活。REST(Representational State Transfer,表现层状态转化)是近几年使用较广泛的分布式结点间同步通信的实现方式。REST原则描述网络中client-server的一种交互形式,即用URL定位资源,用HTTP方法描述操作的交互形式。如果CS之间...原创 2019-08-19 17:25:04 · 1548 阅读 · 0 评论 -
Golang:go-restful库使用手册
原文:https://blog.youkuaiyun.com/chszs/article/details/88974199 一、简介go-restful库:https://github.com/emicklei/go-restfulgo-restful项目是一个开源的、基于Golang开发的、用于构建REST风格的Web服务的库。RESTREST要求开发者显式地使用HTTP方法,并与HT...转载 2019-08-19 17:42:06 · 1377 阅读 · 0 评论 -
go语言设计模式
一:适配器模式package adapter//Target 是适配的目标接口type Target interface { Request() string}//AdapteeImpl 是被适配的目标类type adapteeImpl struct{}//Adaptee 是被适配的目标接口type Adaptee interface { SpecificRequest...原创 2019-08-23 17:50:17 · 1008 阅读 · 0 评论 -
golang-zerolog
The zerolog package provides a fast and simple logger dedicated to JSON output.package mainimport( "fmt" "io" "io/ioutil" "strings" "os" "github.com/rs/zerolog" "github....原创 2019-08-15 17:27:12 · 678 阅读 · 0 评论 -
Kubernetes的client-go库介绍
转子:https://juejin.im/post/5bc9d8c75188255c9b13ebf1github上k8s有着不同分支,注意必须和版本匹配:https://github.com/kubernetes/client-go本介绍Kubernetes官方从2016年8月份开始,将Kubernetes资源操作相关的核心源码抽取出来,独立出来一个项目Client-go,作为官方提供...转载 2019-08-23 14:49:11 · 1160 阅读 · 0 评论 -
Go-Micro微服务框架
什么是 Micro ?Micro 是一个着眼于分布式系统开发的微服务生态系统。Micro 是框架 Micro 也是工具集 Micro 有社区 Micro 还是一个生态系统Micro是开源的Micro由开源的库与工具组成,旨在辅助微服务开发。go-micro - 基于Go语言的可插拔RPC微服务开发框架;包含服务发现、RPC客户/服务端、广播/订阅机制等等。 go-plug...转载 2019-09-03 10:40:57 · 466 阅读 · 0 评论 -
一招教你无阻塞读写Golang channel
无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,教你一招再也不遇到channel阻塞的问题。这篇文章会介绍,哪些情况会存在阻塞,以及如何使用select解决阻塞。阻塞场景阻塞场景共4个,有缓存和无缓冲各2个。无缓冲通道的特点是,发送的数据需要被读取后,发送才会完成,它阻塞场景:通道中无数据,但执行读通道。 通道中无数据,向通道写数据,但无协程读取。// 场景1fun...转载 2019-05-26 11:11:03 · 1394 阅读 · 1 评论 -
go内存模型
转自:https://blog.youkuaiyun.com/weixin_37910453/article/details/88218753一、前言Go语言的内存模型规定了一个goroutine可以看到另外一个goroutine修改同一个变量的值的条件,这类似java内存模型中内存可见性问题(Java内存可见性问题可以参考拙作:Java并发编程之美一书)。当多个goroutine并发同时存取同一...转载 2019-05-26 10:59:29 · 232 阅读 · 0 评论 -
golang初始化顺序
在GO程序中,初始化的几个结构通常为:包(package),常量(const),变量(var),init()和main()。接下来我说一下这几个结构的执行顺序:当 A 没有引入其他包的情况下执行顺序是:package > const > var > init() > main()当 A 里引入了包 B 的时候会有一些变化,程序会先执行包 B 里面的import,c...转载 2019-05-26 10:17:51 · 2768 阅读 · 0 评论 -
GoLang之方法与接口
转自:http://www.cnblogs.com/chenny7/p/4497969.htm建议有空研读改作者的几篇博客!Go语言没有沿袭传统面向对象编程中的诸多概念,比如继承、虚函数、构造函数和析构函数、隐藏的this指针等。方法Go 语言中同时有函数和方法。方法就是一个包含了接受者(receiver)的函数,receiver可以是内置类型或者结构体类型的一个值或者是一个指针。所有给定类型的方...转载 2018-07-08 22:04:09 · 173 阅读 · 0 评论 -
深入学习golang4——new与make
转子:http://www.cnblogs.com/hustcat/p/4004889.html Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives)。对于初学者,这两者的区别也挺容易让人迷糊的。简单的说,new只分配内存,make用于slice,map,和channel的初始化。 1. new这是一个用来分配内存的内建函数...转载 2018-07-31 15:35:16 · 167 阅读 · 0 评论 -
闭包-python与golang语言实现
一:什么是闭包 在函数编程中经常用到闭包。闭包是什么,它是怎么产生的及用来解决什么问题呢。给出字面的定义先:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数)。这个从字面上很难理解,特别对于一直使用命令式语言进行编程的程序员们。本文将结合实例代...转载 2018-08-10 14:26:32 · 639 阅读 · 0 评论 -
Golang的反射reflect深入理解和示例
转子go语言中文网:https://studygolang.com/articles/12348?fr=sidebar编程语言中反射的概念在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和...转载 2018-08-11 11:33:28 · 225 阅读 · 0 评论 -
golang中面向对象的三大特征
转子:https://blog.youkuaiyun.com/m0_37554486/article/details/774047391 Golang的面向对象类型Golang实现面向对象的两个关键类型是struct和interface,其中struct类似C++的普通类类型,interface则对应抽象类类型。与C++采用public/protected/private指示成员和方法的可见性不同,G...转载 2018-08-13 18:11:46 · 673 阅读 · 0 评论 -
基于Docker和Golang搭建Web服务器
1 场景描述基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器我购买了一个最低配的阿里云ECS服务器,并安装好了git和docker,然后在本地实现Dockerfile和golang源代码,并将源码上传到github,然后再到ECS服务器通过git下载代码,并生成...转载 2018-08-13 18:14:17 · 432 阅读 · 0 评论 -
windows配置安装go开发环境
大概分为三个步骤:安装go,安装vscode,安装git。这个时候就可以在vscode下实现自动跳转的功能了!一:安装go,配置环境变量从go语言中文网站,下载一个源码,或者安装包:网址https://studygolang.com/dl其中需要把GOBIN加入到path中!注意:gojob是自己新建的文件夹,创建文件夹的同时自己要新建下边三个子文件夹,可以自行百度用途。...原创 2018-10-01 20:58:26 · 5157 阅读 · 0 评论 -
goalng的垃圾回收机制
用任何带 GC 的语言最后都要直面 GC 问题。在以前学习 C# 的时候就被迫读了一大堆 .NET Garbage Collection 的文档。最近也学习了一番 golang 的垃圾回收机制,在这里记录一下。常见 GC 算法趁着这个机会我总结了一下常见的 GC 算法。分别是:引用计数法、Mark-Sweep法、三色标记法、分代收集法。1. 引用计数法原理是在每个对象内部维护一个整数...转载 2018-10-02 15:56:42 · 268 阅读 · 0 评论 -
go语言之并发
简介 多核处理器越来越普及,那有没有一种简单的办法,能够让我们写的软件释放多核的威力?答案是:Yes。随着Golang, Erlang, Scale等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式需要有一个极其简洁的内核,还有在此之上丰富的外延,可以解决现实世界中各种各样的问题。本文以GO语言为例,解释其中内核、外延。并发模式...原创 2019-05-19 15:45:07 · 381 阅读 · 0 评论 -
python协程与golang协程精讲
进程的定义:进程,是计算机中已运行程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序的真正运行实例。线程的定义:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。进程和线程的关系:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。CPU的最小调度单元是线程不是进程,所以单进程多线程也...转载 2019-05-19 16:58:22 · 842 阅读 · 0 评论 -
prometheus入门实例
什么是 PrometheusPrometheus是由 SoundCloud 开源监控告警解决方案,从 2012 年开始编写代码,再到 2015 年 github 上开源以来,已经吸引了 9k+ 关注,以及很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing Foundation) 成员。作为新一代开源解决...转载 2019-09-09 19:48:02 · 1791 阅读 · 0 评论