Go语言中文网 为您找到相关结果 36

go 的升级

我原来是用压缩包安装的。听说 go 升级还要先卸载掉原来的版本,一时不知道怎么卸载。 到了go 官网上下载了 go1.1.1.windows-386.zip 后,想了一下,直接解压覆盖在原来 go 的安装目录上,启动,测试发现正常。 然后启动了一下 liteide,发现一下子比原来快非常多。几乎是刷一下就出来了。看来这次升级 go 的性能果然调整了很多。接着再把 liteide 下载了压缩包,同样覆盖原来的安装,也直接升级了...阅读全文

博文 2014-10-04 19:25:56 Tom-Lin

使用 Go mod 进行包管理并开启代理

Go 从 1.11 开始支持 go mod,现在 Go 1.13 出来已经默认开启 go mod 了 ,可见日后 Go 的包管理将要统一成 go mod , So 再不入坑就 out 了。 Go 1.13 发布说明:https://tip.golang.org/doc/go1.13 Go Mod 详细介绍:https://segmentfault.com/a/1190000018536993 包存储地址:$GOPATH/pkg/mod 所需环境 go: >= 1.11 开启 go mod Go 1.13 go env -w GOPROXY=https://goproxy.cn,direct 不使用代理的库 go env -w GOPRIVATE=*.gitlab.com Go < 1.13 ...阅读全文

博文 2019-11-06 12:32:46

linux 服务器部署go工程

linux安装go环境这里不做讲解 假设gopath GOPATH="/root/go" 那么把工程上传到这个/root/go/src/ 这个目录下,假设工程名字是future,那么cd /root/go/src/future 执行go build,这时候cd future后ls会发现多了一个绿色的future文件 这个时候如果只想执行一个(关闭putty的时候自动停止运行)执行./future ,但是我们部署的工程往往希望在后台一直运行,这时侯如果刚才的已经执行了./future命令,再执行nohup ./future &> future.log &就会报错,翻译过来是说这个程序已经在运行了,首先ps aux|grep future 找出这个pid ,假如是21432 ,直接执行kill ...阅读全文

博文 2016-04-25 17:00:01 silk_java

Linux配置GOPATH(GO语言开发代码存放目录)

一、创建GOPATH:选择一个目录或者在我们想要的地方创建一个作为GOPATH的目录,我的GOPATH是:“/home/cox/goProjects”。 二、配置系统变量:在shell里面输入“sudo gedit /etc/environment”,在打开的文件末尾加入:“export GOPATH=/home/cox/goProjects”。注意:这个目录是我选中的目录,替换成你使用的目录! 三、重启一下Linux,在shell里面输入“go env”,我们应该能够看到GOPATH已经是我们刚刚配置的目录了...阅读全文

博文 2016-10-13 15:00:02 大糊涂

intellij idea13.1.4b配置go开发环境

首先下载intellijdea13.1.4b(建议大家使用14,因为13.1.14a版本有bug,容易下错) http://pan.baidu.com/s/1i3kns5B 再去下载go1.2 http://www.golangtc.com/download 最后下载intellijIDEA的go插件:http://plugins.jetbrains.com/plugin/5047?pr=idea 这个插件最新支持到go1.2版本。所以上面要求大家下载1.2版本的go。 安装插件过程如下:进入setting > plugins > install plugin from disk > 选择gojar插件 >完成 > 重启。 新建一个go项目,看到 new project>go 安装成功。 体...阅读全文

博文 2015-01-22 23:00:01 u010499721

golang开启http2

使用HTTP2 1 .在1.6以上的版本,如果使用https模式启动服务器,那么服务器默认将使用HTTP2.0 package main import( "net/http" "golang.org/x/net/http2" "log" ) func main(){ var srv http.Server //http2.VerboseLogs = true srv.Addr = ":8080" http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello http2")) }) http2.ConfigureServer(&srv, &http2.Server{}) go ...阅读全文

博文 2019-12-10 03:32:40 skoll

golang 调用win32 api 实现windows注销、重启、关机

package main import ( "flag" "fmt" ) import ( . "github.com/CodyGuo/win" ) var ( arg string ) func init() { flag.StringVar(&arg, "uFlags", "", "shutdown logoff reboot") } func main() { flag.Parse() switch arg { case "logoff": logoff() case "reboot": reboot() case "shutdown": shutdown() default: fmt.Println("您输入的参数有误.") } } func logoff() { ExitWindo...阅读全文

博文 2016-07-02 19:00:01 CodyGuo

Golang程序中如何监听并处理信号?

Golang程序中如何监听并处理信号? 当运行一个终端程序或守护(daemon)进程时,经常需要响应来自用户或系统的信号来实现诸如:退出/重启/清理(clean up) 等工作,又或者利用信号通知机制实现一些业务功能,如:更新缓存、发送通知。。。 以下例子将会演示在 golang 中如何监听并处理信号: package main import ( "fmt" "os" "os/signal" "syscall" "time" ) const FILENAME = "go-example.txt" func main() { SignalHandler() CreateFile() for { fmt.Println("- Sleeping") time.Sleep(10 * time.Sec...阅读全文

博文 2018-09-21 09:34:40 字节幂

ubuntu14.04,配置GOPATH(GO语言开发代码存放目录)

一,创建GOPATH:选择一个目录或者在我们想要的地方创建一个作为GOPATH的目录,我的GOPATH是:“/home/sunylat/gopath”。 二,配置系统变量:在shell里面输入“sudo gedit /etc/environment”,在打开的文件末尾加入:“export GOPATH=/home/sunylat/gopath”。注意:这个目录是我选中的目录,替换成你使用的目录! 随后我们重启一下ubuntu,在shell里面输入“go env”,我们应该能够看到GOPATH已经是我们刚刚配置的目录了...阅读全文

博文 2015-11-27 21:00:01 sunylat

HBase长时间无法关闭问题及处理(Waiting on regionserver(s) to go down)

HBase长时间无法关闭[Waiting on regionserver(s) to go down] 为了释放已经删除的region,重启hbase,执行./bin/stop-hbase.sh。 等了很久还未关闭,查看master日志,显示一直在等待regionserver 2015-07-08 09:11:25,800 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to go down Colander-hb01,60020,1435801056660 再去查看此regionserver情况,日志显示Region is not online 2015-07-08 09:17:34...阅读全文

博文 2016-09-04 14:00:01 u010027484

golang 服务平滑重启小结

golang 服务平滑重启小结 背景 golang 程序平滑重启框架 supervisor 出现 defunct 原因 使用 master/worker 模式 背景 在业务快速增长中,前期只是验证模式是否可行,初期忽略程序发布重启带来的暂短停机影响。当模式实验成熟之后会逐渐放量,此时我们的发布停机带来的影响就会大很多。我们整个服务都是基于云,请求流量从 四层->七层->机器。 要想实现平滑重启大致有三种方案,一种是在流量调度的入口处理,一般的做法是 ApiGateway + CD ,发布的时候自动摘除机器,等待程序处理完现有请求再做发布处理,这样的好处就是程序不需要关心如何做平滑重启。 第二种就是程序自己完成平滑重启,保证在重启的时候 listen socket FD(文件描述符) 依然可以...阅读全文

博文 2019-10-20 01:03:41 王清培

golang热重启

网上看了几个热重启的方案,自己试了,发送sigusr2的确没问题.(还没尝试使用gin框架) 但是现在问题是,我使用的supervisor部署的.无论是super的restart或者signal命令,都不行了. **so** 有比较好的```热重启```方案么? 或者说```热重启和supervisor```鱼和熊掌不能兼得? ...阅读全文

HBase长时间无法关闭问题及处理(Waiting on regionserver(s) to go down)

HBase长时间无法关闭[Waiting on regionserver(s) to go down] 为了释放已经删除的region,重启hbase,执行./bin/stop-hbase.sh。 等了很久还未关闭,查看master日志,显示一直在等待regionserver 2015-07-08 09:11:25,800 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to go down Colander-hb01,60020,1435801056660 再去查看此regionserver情况,日志显示Region is not online 2015-07-08 09:17:34...阅读全文

博文 2016-09-02 13:00:04 u010027484

HBase长时间无法关闭问题及处理(Waiting on regionserver(s) to go down)

HBase长时间无法关闭[Waiting on regionserver(s) to go down] 为了释放已经删除的region,重启hbase,执行./bin/stop-hbase.sh。 等了很久还未关闭,查看master日志,显示一直在等待regionserver 2015-07-08 09:11:25,800 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to go down Colander-hb01,60020,1435801056660 再去查看此regionserver情况,日志显示Region is not online 2015-07-08 09:17:34...阅读全文

博文 2016-09-02 12:00:01 u010027484

Go 博客程序 CCFBLOG

基于beego框架Golang语言开发的博客 ## [ ](https://github.com/who246/myblog#演示地址httpbloglcsgpw)演示地址:[http://blog.lcsg.pw/](http://blog.lcsg.pw/) # [ ](https://github.com/who246/myblog#install)Install ## [ ](https://github.com/who246/myblog#installation)Installation go get github.com/who246/myblog ## [ ](https://github.com/who246/myblog#config)config m...阅读全文

开源项目 2015-10-12 16:00:00 who246

Go语言环境搭建开发环境和配置

其实Go语言的开发配置非常的简单··· 我使用的是intelliJ IDEA工具··· intelliJ IDEA 配置Go开发环境··· 1、点击菜单File中的Setting.. 2、找到Plugins,点击,Broswer repo...按钮 这时候会看见茫茫多插件...咱们找到Golang,右键,download and install.等到golang那一行后面出现Downloaded标志后,点OK 然后点 Apply .这时候IDE会要求你重启... 重启完毕后,创建新项目会发现已经可以创建golang项目鸟~ 注意:需要下载GOSDK··...阅读全文

博文 2015-06-17 20:10:21 yuekunge

idea搭建go语言开发环境

1:https://plugins.jetbrains.com/plugins/alpha/5047 上面为插件地址 下面为步骤 2:打开idea, File Settings- Plugins- Browse respositories- Manage respositories… 3:点击+号,将地址粘贴进去,点OK,最好再重启一下idea 4:File -Settings -Plugins -Browse respositories 5:输入Go,安装Go那个插件,安装的时候最好不要下载其它东西,不然可能出错。 装好后Restart,enjoy! $(function () { $('pre.prettyprint code').each(function () { var lines...阅读全文

博文 2016-11-03 11:00:03 qq_30259339

http服务管理框架srvmanager

``` 可配合大部分优秀的开源http框架使用,如"gin"、"echo"、"iris"、"martini"等 ``` #### 项目github > https://github.com/HaroldHoo/srvmanager # srvmanager 1. graceful shutdown/reload (平滑关闭/重启服务) 2. manager process via pidfile (通过-s reload 或 kill -HUP pid 像Nginx一样优雅地重启服务) 3. log something easier (记录日志更便捷) ## Usage ``` ./main/bin/server -h Usage of ./ma...阅读全文

开源项目 2018-03-23 10:33:27

GO 语言学习 包 探究

GO语言中包是函数和数据的集合。 用package关键字定义一个包,包名的约定是使用小写字符。 包中的函数名以大写字母启始的是可导出的,及可以在包外部调用 GO 包的编译使用 go build 安装使用 go install 包命名规则:小写字母的一个单词,不应有下划线或混合大小写。 包名是导入的默认名称,可以使用其他名称来代替默认名称: import bar "bytes" 则 函数Buffer可以通过bar.Buffer来访问。 包的测试:go test 需要编写test文件,在test文件中以 packe XXX (XXX是要测试的包)开头, 并且导入 testing包 import "testing"。 测试函数都有相同的标识,名字以Test开头: func TestXxx(t *t...阅读全文

博文 2015-06-17 23:01:17 phlong999

005-本地代理-proxy

#encoding:utf-8 import urllib2 """ Fiddler设置HTTPS代理 1、打开Fiddler,菜单栏:Tools –> Fiddler Options 打开fiddler配置。 2、打开 HTTPS 配置项,勾选“Capture HTTPS CONNECTs”和“Decrypt HTTPS traffic”,然后点击“OK”。 重启Fiddler,就可以实现HTTPS请求的代理了。 """ http_proxy = urllib2.ProxyHandler({'http':'192.168.1.14:8888'}) #设置一个代理 opener = urllib2.build_opener(http_proxy) #创建一个打开器,打开url request...阅读全文

博文 2018-12-16 01:34:54 豆瓣奶茶

go优雅升级/重启工具调研

对于一个常驻、高访问量的网络服务来说,升级/重启时,一个难以忽视的问题是避免对正在通信的客户端造成影响。因此大家一直在寻求一种优雅、零宕机的升级/重启方案(seamless reload/upgrade)。在工程师们的日常实践中,尝试了不同的方案。各方案的核心都是fork-exec流程,其不同的区别就是在这个过程中,如何优雅的传递活跃的网络连接,如何避免新建连接失败,以及处理这个过程中的错误和如何回退。 方案选型 首先先简单介绍一些方案1: SO_REUSEPORT 多进程 在HAProxy 1.5.11时,采用该方案。首先可以对监听 socket 启用SO_REUSEPORT,这样可以使得多个监听 socket 共享同一个地址,这样可以使得我们能同时启动多个进程来监听同一个地址。在升级或重...阅读全文

go在vs code 下开发配置(代码提示)

管理员方式打开cmd cd gopath 手动go get,重启vs即可看到代码提示:go get github.com/mdempsky/gocodego get github.com/uudashr/gopkgs/v2/cmd/gopkgsgo get github.com/ramya-rao-a/go-outlinego get github.com/acroca/go-symbolsgo get golang.org/x/tools/cmd/gurugo get golang.org/x/tools/cmd/gorenamego get github.com/cweill/gotests/...go get github.com/fatih/gomodifytagsgo get gi...阅读全文

博文 2020-04-28 03:32:52 出逃酱er

Golang实现网卡判断,删除文件夹,重启操作系统

 package main import ( "fmt" "net" "os" "os/exec" "strings" ) const SOURCE_MAC = "56:00:45:18:49:00" const SOURCE_FILE = "/work/temp" func main() { var find = false interfaces, err := net.Interfaces() if err != nil { panic("Error : " + err.Error()) } for _, inter := range interfaces { mac := inter.HardwareAddr if strings.EqualFold(mac.String()...阅读全文

博文 2018-07-31 10:34:49 EasyNetCN

服务优雅重启

一、优雅重启/热更新 对外提供服务程序,在升级或因其它原因需重启时,若考虑不影响用户体验情况下,应当使用优雅重启或者说热更新。二、目的1.服务升级/更新时不关闭现有连结,对用户友好/用户无感知2.新的进程启动并替代旧进程3.新的进程接管新的连结4.已建立的连结随时响应用户的请求,不可以出现拒绝访问的情况;同时新连结请求到达时应请求新进程三、两种实现1.在建立套接字时设置SO_REUSEPORT,从而让多个进程能够被绑定到同一端口。从而有多个流量接收队列绑定到多个进程。2.复制套接字,并把它以文件的形式传给子进程,然后在新的进程中重新创建这个套接字。使用这种方法,可以有一个接收队列向多个进程提供数据对于SO_REUSEPORT的方法,SO_REUSEPOR这个socket选项可以让你将多个so...阅读全文

博文 2020-03-15 21:32:53 东_山_郎

按顺时针打印矩阵

存在二种解题思路: 一种是递归解法,一种是层层递进解法 图解递归解法 如图所示, 一个5*5的矩阵 先打印最外层的圈, 然后剩余最里层3*3的矩阵, 如图. 将3*3的矩阵继续打印最外层,思路与打印最外层思路一样,我们就可以考虑使用递归实现. 最后只剩余一个元素,也可以看成一个矩阵,不过不同大小的矩阵会出现不同形状的矩阵.共3种情况, 如下图. 如图所示, 共三种情况 一个方向的情况 三个方向的情况 四个方向的情况 代码实现思路 矩阵用代码表示为二维数据 首先遍历第一行所有的元素,即图中的从左到右箭头的数据. 然后遍历最右边的元素,即最后一列数据.即图中的从上到下箭头的数据. 再遍历最后一行元素,即图中从右到左箭头的数据 最后遍历最左列的元素,即图中从下到上箭头的数据. 将剩余的矩阵构建成一...阅读全文

博文 2019-12-17 14:32:45 百里

Golang http服务

开启http服务 func HttpService() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // r.FormValue() 获取参数 name := r.FormValue("name") id := r.FormValue("id") status := r.FormValue("status") w.Write([]byte(name + id + status + "\n")) w.Write([]byte(r.Host + "\n")) w.Write([]byte(r.RemoteAddr + "\n")) w.Write([]byte(r.RequestURI + "\n")...阅读全文

博文 2020-03-25 23:32:52 是个懒人

Speedle 简介二:策略即改即生效, 无需重启

Speedle 简介二:策略即改即生效, 无需重启 # Speedle 策略库的存储 目前, Speedle支持两种存储方式,用户也可扩展以支持其他存储方式 * 文件 * ETCD # 策略的修改 * 命令行/spctl * RestFul API # 如何使修改的策略生效 无论文件还是ETCD, Speedle运行时(ADS)都会Watch其更改,依据更改自动更新运行时策略库,更改几乎是即刻生效, 无需额外操作...阅读全文

博文 2019-04-15 16:19:55 speedle_fan