2021
06-13
06-13
golang 如何获取文件夹下面的文件列表
golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较多比较复杂,我们也没有必要这么做。如果仅仅是想获取一个目录下面的文件和文件夹的列表,有两个比较简单的方法利用ioutil的ReadDir方法packagemainimport("fmt""io/ioutil")funcmain(){files,_...
继续阅读 >
代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的HTTP访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。代理服务器根据不同的配置和使用,可能会有不同的功能,这些功能主要包括:内容过滤:代理可以根据一定的规则限制某些请求的连接。比如有些公司会设置内部网络...
在不了解这个问题之前,在网上搜索一下竟然搜出了两个完全相反的结果,所以打算自己测试下这个问题。首先给出结论:在同一个package中,可以多个文件中定义init方法在同一个go文件中,可以重复定义init方法在同一个package中,不同文件中的init方法的执行按照文件名先后执行各个文件中的init方法在同一个文件中的多个init方法,按照在代码中编写的顺序依次执行不同的init方法下面看下测试的代码:在当前目录下新建main.go及testini...
正常使用了go1.8一段时间没有发现异常,为了发布便捷,以及后期引入plug-in,开始将大项目分解。涉及到通过vendor引入私有库保存的第三方包。参考网上那些反复转帖的材料,始终无法成功,总是都会出现类似以下的错误:packagegit.oschina.net/xxx/yyy:unrecognizedimportpath"git.oschina.net/xxx/yyy"(parsehttps://git.oschina.net/xxx/yyy?go-get=1:nogo-importmetatags())反复折腾后,终于搞定,这里整理一下...
解决golanggogetgitlab私有仓库的问题(1.13)1.问题描述require(git.xxxxxxx.com/middle/userv0.0.1)gomodtidy导入包失败gogetgit.xxxxxxx.com/middle/user失败gobuild有CHECKSUM过程,无法编译2.现象分析goget不支持代码支持之外的仓库。并且git调用链过程采取了https下载过程如果机器设置了GOPROXY,会导致下载失败编译过程会导致CHECKSUM失败3.物料物料说明...
1.数组数组是值类型[10]int和[20]int是不同类型调用func(arr[10]int)会拷贝数组在go语言中一般不直接使用数据packagemainimport"fmt"funcupdateArr(arr*[5]int){arr[0]=100}funcupdateArrThroughSlice(arr[]int){arr[0]=100}funcmain(){//创建一个数据vararr[5]intarr2:=[5]int{1,2,3,4,5}//长度让编译器来数arr3:=[...]int{1,2,3,4,5}//[00000][12345][12345]fmt.Println...
在谢大群里看到有同学在讨论time.After泄漏的问题,就算时间到了也不会释放,瞬间就惊呆了,忍不住做了试验,结果发现应该没有这么的恐怖的,是有泄漏的风险不过不算是泄漏,先看API的说明://Afterwaitsforthedurationtoelapseandthensendsthecurrenttime//onthereturnedchannel.//ItisequivalenttoNewTimer(d).C.//TheunderlyingTimerisnotrecoveredbythegarbagecollector//untilthetimerfi...
1.logger包介绍import"github.com/wonderivan/logger"在我们开发go程序的过程中,发现记录程序日志已经不是fmt.print这么简单,我们想到的是打印输出能够明确指定当时运行时间、运行代码段,当然我们可以引入go官方自带包import“log”,然后通过log.Printf、log.Println等方式输出,而且默认是日志输出时只带时间的,想要同时输出所运行代码段位置,还需要通过执行一下指定进行相关简单的设置log.SetFlags(log.LstdFlags|l...