golang
小小一剑侠
邮箱:582891884@qq.com
展开
-
解决goland导⼊项⽬后import⾥的包报红色问题
1. 将项目代码放到G盘下2.通过goland打开项目 (go.mod所在目录)3.goland设置注意: 这里不能添加任何路径, 不然会报 $GOPATH/go.mod exists but should not 设置了GOPATH,就不用再设置go mod,因为两个都是用来管理项目的,go mod是后面新版本的管理方式.因为本机goland版本是GoLand 2019.3.4 x64, 所以 proxy写法应该如上图不用写 "...原创 2022-05-06 17:12:25 · 12227 阅读 · 0 评论 -
NSQ消息队列的简单使用
1. 到 https://nsq.io/deployment/installing.html 下载nsq服务2. 解压后内容如下:3. 运行 nsqd4.运行nsqlookupd5.运行 nsqadmin6.通过网页查看消息参考文章:NSQ分布式消息队列_Ryan_yan1的博客-CSDN博客_nsq消息队列NSQ简明教程 - 知乎...原创 2022-03-10 16:09:56 · 708 阅读 · 0 评论 -
centos7 安装 goLang 1.18.5
cd /usr/local/srcwget https://studygolang.com/dl/golang/go1.16.3.linux-amd64.tar.gztar -zxvf go1.16.3.linux-amd64.tar.gz -C /usr/local/设置环境变量vim/etc/profile在文件最后添加以下内容# 设置golang的环境变量# 设置GO安装目录export GOROOT=/usr/local/go# 设置gopathexport ....原创 2021-04-23 17:09:36 · 3575 阅读 · 0 评论 -
centos7安装golang
资源下载地址:https://golang.google.cn/dl/安装文档:https://golang.google.cn/doc/install1. 下载:本次下载 go1.11.linux-amd64.tar.gzwget https://dl.google.com/go/go1.13.linux-amd64.tar.gz2. 解压:解压压缩包到/usr/local目录tar -C /usr/local -xzf go1.13.linux-amd64.tar...转载 2020-10-30 12:13:41 · 310 阅读 · 0 评论 -
centos7 下安装go 环境
1.进入root目录 cd /root2.下载go1.13.8.linux-amd64.tar.gzwget https://dl.google.com/go/go1.13.8.linux-amd64.tar.gz3.解压tar -xzvf go1.13.8.linux-amd64.tar.gz不用安装,解压就行4.新建gopath目录5. 修...原创 2020-03-07 17:51:48 · 665 阅读 · 0 评论 -
GO库安装报错解决:unrecognized import path "golang.org/x/net" (https fetch: dial tcp i/o timeou
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/netgit clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/toolsgit clone https://github.com/golang/crypto.git ...原创 2020-02-23 20:39:18 · 1087 阅读 · 0 评论 -
Go 语言的切片与内存复制 memcpy 的实现方法
https://blog.csdn.net/quicmous/article/details/80472035 Go 语言的切片与内存复制 memcpy 的实现方法2018年05月27日 20:08:39阅读数:189Go 语言原则上不支持内存的直接操作访问,但是提供了切片功能。最初我以为切片就是动态数组,实际程序设计过程中发现,切片是提供数组一个内存片段的一个合法的手段,利用...转载 2018-08-06 15:29:57 · 449 阅读 · 0 评论 -
golang1.10安装
开发环境部署过程说明centos 7 下golang安装: sudo yum install golang 1006 go version 1007 env 1008 echo $GOPATH 1009 mkdir /var/local/src_codec 1012 echo 'export GOPATH="/var/local/src_codec"' >> ...原创 2018-08-22 15:01:01 · 1187 阅读 · 0 评论 -
Go实战--golang中使用HTTPS以及TSL(.crt、.key、.pem区别以及crypto/tls包介绍)
HTTP与HTTPS在WWDC 2016上,苹果在发布iOS 9的同时也向开发者传递了一个消息,那就是到2017年1月1日时App Store中所有应用都必须启用 App Transport Security应用程序安全传输协议,从而提升应用和系统安全性。HTTPS是Hyper Text Transfer Protocol Secure的缩写,相比http,多了一个secure,这一...转载 2018-08-22 18:02:39 · 2384 阅读 · 0 评论 -
go melody 报 close 1009 (message too big)
go 语言写的ws客户端连接 melody 向 服务器的melody发送base64图片数据时, 报close 1009 (message too big).并自动断开连接. 通过代码看是服务器关闭的. 调试发现最后在初始化时加上m := *melody.New()m.Config.MaxMessageSize = 10000000问题解决...原创 2018-08-29 10:53:07 · 1315 阅读 · 0 评论 -
[golang]pprof性能分析工具
原创 2018-09-05 10:16:17 · 194 阅读 · 0 评论 -
Linux下配置GOROOT和GOPATH
Linux下配置GOROOT和GOPATH 2017-06-06 0 Comments 2,286 Views 0 Times更好的使用Go,需要设置环境变量vim ~/.bash_profile在前面添加export GOROOT=/usr/lib/goexport GOPATH=/usr/local/golangexport PATH=$PATH:$GOPA...转载 2018-10-26 10:41:06 · 8439 阅读 · 0 评论 -
go 语言下编译所有目录shell脚本
[root@localhost cmd]# cat build.sh #!/bin/shfor dir in `ls -d */ | cut -f1 -d'/'`do echo "Compiling $dir ...\c" cd $dir go clean go build cd .. echo " done."done ...原创 2018-10-24 10:07:52 · 1061 阅读 · 0 评论 -
go get 下载github 资源方法
[root@localhost src_codec1]# go get https://github.com/boltdb/bolt.gitpackage https:/github.com/boltdb/bolt.git: "https://" not allowed in import path[root@localhost src_codec1]# 应该去掉 https://...原创 2018-11-13 11:12:41 · 8887 阅读 · 0 评论 -
x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决:
x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决:一, 编辑openssl.cnf,在[v3_ca]下面添加:subjectAltName = IP:IP地址 注意, 直接写成123.56.157.144就行, 不用改成192或是其它地址[ v3_ca ]...原创 2018-12-20 09:51:17 · 33475 阅读 · 6 评论 -
Go语言中利用http发起Get和Post请求的方法示例
关于 HTTP 协议HTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信。HTTP 的工作方式是客户机与服务器之间的 “请求-应答” 协议。客户端可以是 Web 浏览器,服务器端可以是计算机上的某些网络应用程序。通常情况下,由浏览器向服务器发起 HTTP 请求,服务器向浏览器返回响应。响应包含了请求的状态信息以及可能被请求的内容...转载 2018-12-20 10:40:30 · 5483 阅读 · 0 评论 -
Go net/http 超时机制完全手册
英文原始出处:The complete guide to Go net/http timeouts, 作者:Filippo Valsorda当用Go写HTTP的服务器和客户端的时候,超时处理总是最易犯错和最微妙的地方之一。错误可能来自很多地方,一个错误可能等待很长时间没有结果,直到网络故障或者进程挂起。HTTP是一个复杂的、多阶段(multi-stage)协议,所以没有一个放之四海而...转载 2019-05-31 16:10:29 · 306 阅读 · 0 评论 -
golang linux 下安装
开发环境部署过程说明centos 7 下golang安装: sudo yum install golang 1006 go version 1007 env 1008 echo $GOPATH 1009 mkdir /var/local/sb-test 1012 echo 'export GOPATH="/var/local/sb-test"' >> ~/.bashrc 10...原创 2018-06-27 11:18:07 · 574 阅读 · 0 评论 -
Go语言可变参数函数,何时该使用省略号(...)
Go语言可变参数函数,何时该使用省略号(...)今天的一个例子中发现,对于在调用可变参数函数时,不是总能使用省略号将一个切片展开,有时候编译器可能会报错,为了清除的说明这个问题,我用几个小例子一步一步说明。1、提出假想的需求 假如想要在一堆数据中找出最小的一个,该怎么做?如果数据的类型为int,那么我可以这么做:func MinimumInt(first int, others ...int) i...转载 2018-07-04 18:12:45 · 908 阅读 · 0 评论 -
Golang中Slice的append详解
在Golang语言中,数据类型不多,但是够用,开发项目过程中,Slice属于最常用的数据结构之一,对其原理理解不清楚,很容易会遗留bug,笔者查询了很多博客资料,对Slice的append原理进行一个总结,如果有写的不清楚不明白之处,请多多包涵,并予以指正。package mainimport "fmt"func main(){ s := []int{5} ...原创 2018-07-04 18:01:19 · 1163 阅读 · 0 评论 -
JWT实现基于token的鉴权
JWT实现基于token的鉴权2018年01月25日 17:59:15阅读数:432一.介绍 1.JSON Web Token,简称JWT,本质是一个token,是一种紧凑的URL安全方法,用于在网络通信的双方之间传递。 2.一般放在HTTP的headers 参数里面的authorization里面,值的前面加Bearer关键字和空格。 3.主要用于身份认证和信息交换 4.由三部分组成,用英文句点...转载 2018-06-27 16:44:30 · 1349 阅读 · 0 评论 -
谈谈我对session, cookies和jwt的理解
谈谈我对session, cookies和jwt的理解 时光过去了心还在原地 关注2018.01.17 10:34* 字数 2121 阅读 875评论 12喜欢 26最近在做项目重构,因为核心功能仅以restful风格接口提供,因此对于会话管理这一部分,目前考虑使用jwt(Json Web Token)。本文是我在项目开发过程中对这几种会话管理技术理解的一些总结。不对之处,请指正。为什么我们需要会...转载 2018-06-27 16:43:28 · 452 阅读 · 0 评论 -
Golang 调用 Linux 命令
Golang 调用 Linux 命令 Golang struggling 2年前 (2016-12-22) 1448次浏览 已收录 1个评论Golang 中可以使用 os/exec 来执行 Linux 命令,下面是一个简单的示例: package main import ( "fmt" "io/ioutil" "os/exec...转载 2018-07-02 18:34:54 · 16183 阅读 · 0 评论 -
golang中select和switch的区别
golang中select和switch的区别2017年07月08日 14:43:20阅读数:475select 和 switch 是 Go语言中进行分支操作的两个方式,各有各的应用场景。selectselect只能应用于channel的操作,既可以用于channel的数据接收,也可以用于channel的数据发送。如果select的多个分支都满足条件,则会随机的选取其中一个满足条件的分支, 如语言...转载 2018-07-02 17:38:39 · 2227 阅读 · 0 评论 -
golang windows开发环境安装
1, 下载goland-2017.3.3.exe , go的集成开发环境.2, 下载go1.10.windows-amd64.msi , go的1.10版本C:\Users\sbyygyfd>go envset GOARCH=amd64set GOBIN=set GOEXE=.exeset GOHOSTARCH=amd64set GOHOSTOS=windowsset GOOS=window...原创 2018-06-27 11:22:50 · 462 阅读 · 0 评论 -
go test
go testgo test命令用于对Go语言编写的程序进行测试。这种测试是以代码包为单位的。当然,这还需要测试源码文件的帮助。关于怎样编写并写好Go程序测试代码,我们会在本章的第二节加以详述。在这里,我们只讨论怎样使用命令启动测试。go test命令会自动测试每一个指定的代码包。当然,前提是指定的代码包中存在测试源码文件。关于测试源码文件方面的知识,在我的图书《Go并发编程实战》中有详细介绍。测...转载 2018-06-29 17:23:28 · 1350 阅读 · 0 评论 -
go build
go buildgo build命令用于编译我们指定的源码文件或代码包以及它们的依赖包。例如,如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包。例如,我们想编译goc2p项目的代码包logging。其中一个方法是进入logging目录并直接执行该命令:hc@ubt:~/golang/goc2p/src/logging$ go build因为在代码包lo...转载 2018-06-29 17:19:05 · 932 阅读 · 0 评论 -
golang test测试实例
本文的目的是对mymysql进行单元测试和性能测试准备工作:1 go get github.com/ziutek/mymysql/thrsafe2 在mysql建表和初始化数据(db是test)123456789101112drop table if exists admin;CREATE TABLE `admin` ( `adminid` INT(10) UNSIGNED NOT NULL...转载 2018-06-29 15:17:51 · 318 阅读 · 0 评论 -
goland 开发中遇到的坑
1, 重新建立个文件夹导出go项目后, 发现不能import其它目录的文件. 最后发现gopath 没改过. 重新在cmd里改了后正常.原创 2018-06-15 17:36:00 · 12880 阅读 · 0 评论 -
Golang编码规范
Golang编码规范 莫云溪 关注2016.11.20 23:53* 字数 1393 阅读 2573评论 2喜欢 13gofmt大部分的格式问题可以通过gofmt解决,gofmt自动格式化代码,保证所有的go代码与官方推荐的格式保持一致,于是所有格式有关问题,都以gofmt的结果为准。行长一行最长不超过80个字符,超过的使用换行展示,尽量保持格式优雅。注释在编码阶段应该同步写好变量、函数、包的注释...转载 2018-06-27 16:58:39 · 144 阅读 · 0 评论 -
golang中struct成员变量的标签(Tag)说明和获取方式
http://www.01happy.com/golang-struct-tag-desc-and-get/golang中struct成员变量的标签(Tag)说明和获取方式 Golang 2年前 (2016-03-03) 2328浏览 0评论在处理json格式字符串的时候,经常会看到声明struct结构的时候,属性的右侧还有小米点括起来的内容。形如:1234type User struct ...转载 2018-06-27 18:46:21 · 1093 阅读 · 0 评论 -
var _ ResponseWriter = &responseWriter{} 是什么意思?-- 检测接口是否实现
"_" 意思是丢弃变量. 一般检查某个struct是否实现interface的时候用的,因为golang里的接口实现不是侵入式,所以这样可以在编译的时候知道是否实现了自己想要的接口package maintype Reader interface { Read()}type Writer interface { Write()}type A struct ...原创 2018-07-04 16:01:30 · 597 阅读 · 1 评论 -
谈一谈Go的异常处理机制——panic和recover的使用和原理
2017年12月12日 22:04:31阅读数:414panic产生异常package main import ( "fmt") func main() { GO() PHP() PYTHON()} //Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱...转载 2018-07-04 15:23:07 · 356 阅读 · 0 评论 -
go-import下划线的作用
go-import下划线的作用hezhixiong · 2015-06-20 03:00:01 · 20558 次点击 · 预计阅读时间 1 分钟 · 6分钟之前 开始浏览 这是一个创建于 2015-06-20 03:00:01 的文章,其中的信息可能已经有所发展或是发生改变。 在Golang里,import的作用是导入其他package,但是今天在看beego框架时看到了import 下...转载 2018-06-29 10:12:13 · 95 阅读 · 0 评论 -
gorilla/mux类库解析 一个强大的路由 带websocket , securecookie
gorilla/mux类库解析shanks · 2016-06-11 16:41:09 · 6716 次点击 · 预计阅读时间 7 分钟 · 2分钟之前 开始浏览 这是一个创建于 2016-06-11 16:41:09 的文章,其中的信息可能已经有所发展或是发生改变。golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路径对...转载 2018-06-28 17:58:26 · 978 阅读 · 0 评论 -
Go实战--golang中使用JWT(JSON Web Token) 使用包 dgrijalva
Go实战--golang中使用JWT(JSON Web Token)wangshubo1989 · 2017-08-13 09:31:02 · 2162 次点击 · 预计阅读时间 7 分钟 · 大约1分钟之前 开始浏览 这是一个创建于 2017-08-13 09:31:02 的文章,其中的信息可能已经有所发展或是发生改变。生命不止,继续 go go go !!!之前写过关于golang中如何...转载 2018-06-28 17:39:43 · 1689 阅读 · 0 评论 -
go-simplejson|解析json字符串
go-simplejson|解析json字符串阅读数:3376package main import ( "github.com/bitly/go-simplejson" // for json get "fmt") var jsonStr = ` { "person": [{ "name": "piao...转载 2018-07-04 09:51:46 · 1847 阅读 · 0 评论 -
Go实战--通过gin-gonic框架搭建restful api服务(github.com/gin-gonic/gin)
生命不止,继续 go go go !!!先插播一条广告,给你坚持学习golang的理由: 《2017 软件开发薪酬调查:Go 和 Scala 是最赚钱的语言》 言归正传!之前写过使用golang实现简单的restful api相关的博客: Go实战–实现简单的restful api(The way to go)其中,使用了github.com/gorilla/mux,今天要跟大家介绍的是gin-g...转载 2018-06-28 15:21:28 · 1394 阅读 · 0 评论 -
Golang通过反射获取结构体的标签 例子
Golang通过反射获取结构体的标签 例子:package mainimport ( "fmt" "reflect")type resume struct { Name string `json:"name" doc:"我的名字"`}func findDoc(stru interface{}) map[string]string { t := ref...转载 2018-06-28 10:38:56 · 1878 阅读 · 0 评论 -
go语言:sync.Once的用法(保证once只执行一次)
go语言:sync.Once的用法2014年05月17日 00:24:13阅读数:6768sync.Once.Do(f func())是一个挺有趣的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。package main import ( "fmt" "sync" "time") var once sync.Once func ...转载 2018-07-16 11:19:37 · 6036 阅读 · 0 评论