2021
06-05
06-05
Go 实现HTTP中间人代理的操作
goproxyGoHTTP(S)代理库,支持中间人代理解密HTTPS项目地址安装gogetgithub.com/ouqiang/goproxy使用packagemainimport("net/http""time""github.com/ouqiang/goproxy")funcmain(){proxy:=goproxy.New()server:=&http.Server{Addr:":8080",Handler:proxy,ReadTimeout:1*time.Minute,WriteTimeout:1*time.Minute,}err:=server.Lis...
继续阅读 >
go,在删除切片中的元素时,可以使用append(),方式将其中的元素删除。slice:=make([]int,0)slice=append(slice[:k],slice[k+1:])//此方法就是删除切片中位于k中的元素由于字符串也可以进行遍历,但是字符串不可以进行切片操作,也就是只有切片才能使用append()操作所以如果要在字符串中删除某一个字符。str:="teststring"str=str[:5]+str[6:]//与其他语言相似,在进行切割时,没有包括前面的索引,但是不包括后面的索引//...
Go获取随机数是开发中经常会用到的功能,不过这个里面还是有一些坑存在的,本文将完全剖析Gomath/rand,让你轻松使用GoRand.开篇一问:你觉得rand会panic吗?源码剖析math/rand源码其实很简单,就两个比较重要的函数func(rng*rngSource)Seed(seedint64){rng.tap=0rng.feed=rngLen-rngTap//...x:=int32(seed)fori:=-20;i<rngLen;i++{x=seedrand(x)ifi>=0{varuint64u=i...
forrange的val不能直接修改因为地址不同packagemainimport"fmt"funcmain(){x:=make([]int,3)x[0],x[1],x[2]=1,2,3fori,val:=rangex{fmt.Println(&x[i],"vs.",&val)}}//输出0x416020vs.0x41602c0x416024vs.0x41602c0x416028vs.0x41602c补充:GO语言使用range遍历数组,值不被改变(避开range坑)首先GO语言遍历数组两种方式一种是fori:=0;i<len;i++{}这种方式,就是如果在循环中更改数组的值...
这是因为获取golang.org/x/...时需要翻墙,而我这里没有翻墙,不过没关系设置下代理即可://bashmacexportGOPROXY=https://goproxy.io//powershellwindows$env:GOPROXY=https://goproxy.io然后再当前目录下用powershell执行命令:gomoddownload相关命令:gomodinit:初始化modulesgomoddownload:下载modules到本地cachegomodedit:编辑go.mod文件,选项有-json、-require和-exclude,可以使用帮助gohelpmodedi...
学习了Go语言后,打算利用最近比较空一点,写一个前端部署工具,不需要每次都复制粘贴的麻烦,需要完成部署的第一步就需要连接远程服务器打开sshserver首先我们想要利用ssh连接服务器的前提是服务器打开了sshserver,ssh分为client和server端,如果打开了client可以连接远程服务器,打开了server就可以被连接.因为linux网上教程很多,windows比较少,所以这里只写windows版本的,首先我们一般用OpenSSH这个工具打开服务,windows系统是...