草庐IT

get_send_file_max_age

全部标签

unit-testing - 单元测试 os.File.Write 调用

我想对调用os.File.Write()的函数进行单元测试,并希望达到100%的覆盖率。此函数返回n和一个错误。引发错误很容易。我只需要关闭文件。我怎样才能不引起写入错误和写入数据长度的值n不同?看起来我应该创建一个虚拟的os.File,我可以在上面控制返回的错误。不幸的是,os.File不是一个接口(interface)。编辑:根据PeterOS的回答,仔细检查文档后,Write()方法,是否为io.Writer或io.File如果err为nil,将始终返回写入的slice的长度。结果,看来我的问题毫无意义。我学到了一些重要的东西,谢谢。我有一些代码要清理。附带说明一下,我对100%

file - Golang 检查文件扩展名不起作用

我想从控制台获取文件路径并检查该文件是否为虚拟机文件。我写了这段代码:funcmain(){reader:=bufio.NewReader(os.Stdin)fmt.Println("Enterthepathofthevmfile:")path,_:=reader.ReadString('\n')iffilepath.Ext(path)!=".vm"{fmt.Println("Error!filemustbevmfile")}但它不起作用。我刚开始学习Go,所以如果这是一个基本错误,请接受我的歉意。 最佳答案 检查文件扩展名:pat

go - "go run file.go"命令后可执行文件存储在哪里?

go编译器执行完如下命令后的可执行文件存放在哪里?$>gorunfile.go 最佳答案 在/tmp文件夹中,如果您使用的是unix机器。如果您使用的是Windows,则在\Users\SomeUser\AppData\Local\Temp\中。 关于go-"gorunfile.go"命令后可执行文件存储在哪里?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/46570517/

go - `go get` 在哪里存储它下载的内容?

我被告知使用goget下载go程序。命令存在,没有输出和退出代码0.在我的系统上$GOPATH和$GOROOT未设置。go去哪儿了?存储我下载的程序? 最佳答案 它存储在GOPATH中。如果您没有明确设置它,它具有默认值(取决于您的系统)。https://golang.org/doc/code.html#GOPATHTheGOPATHenvironmentvariablespecifiesthelocationofyourworkspace.Itdefaultstoadirectorynamedgoinsideyourhomedir

go - 为什么 "go get"没有安装包到 GOPATH?

这个问题在这里已经有了答案:About"sudogorunmain.go"(2个答案)关闭3年前。当我使用goget命令时:sudogoget-ugithub.com/golang/dep/cmd/dep我的GOPATH是:GOPATH="/home/hadoop/gopath"而且我发现goget会在/home新建一个名为go的目录,dep包在里面,我想知道为什么不在GOPATH中新建一个目录?

file - 打开和写入文件时出错

我想打开一个文件并向其中写入一些文本,但是出现以下错误:.\hello.go:13:cannotusemsg(typestring)astype[]byteinargumenttof.Write到目前为止,这是我的代码:packagemainimport("os")funcprinter(msgstring)(errerror){f,err:=os.Create("helloworld.txt")iferr!=nil{returnerr}deferf.Close()f.Write(msg)returnerr}funcmain(){printer("HelloWorld")}

http - 戈兰 http.Get()

我正在尝试编写一个基本的http服务器示例。我可以curllocalhost:8080,但无法通过客户端脚本使用http.Get("127.0.0.1:8080")联系服务器。我做错了什么?server.go:import"fmt"import"net/http"funcjoin(whttp.ResponseWriter,req*http.Request){fmt.Println("Someonejoined")}funcmain(){fmt.Println("Listeningonport8080...")http.HandleFunc("/join",join)http.Liste

file - 使用golang将字节数组转换回文件

有没有办法将字节数组写入文件?我有文件名和文件扩展名(如temp.xml)。 最佳答案 听起来您只需要标准库中的ioutil.WriteFile函数。https://golang.org/pkg/io/ioutil/#WriteFile它看起来像这样:permissions:=0644//orwhateveryouneedbyteArray:=[]byte("tobewrittentoafile\n")err:=ioutil.WriteFile("file.txt",byteArray,permissions)iferr!=nil{

go - "too many open files"与 os.Create

我要创建大约220,000个图像文件(.png)。我在尝试创建第1'081个文件时遇到此错误消息:panic:打开/media/Snaps/pics/image1081_0.png:打开的文件太多我添加了deferw.Close()行,但它并没有改变错误。i:=1fori当然可以绕过这个限制吗?也许我没有正确关闭文件? 最佳答案 TheGoProgrammingLanguageSpecificationDeferstatementsA"defer"statementinvokesafunctionwhoseexecutionisde

http - 每秒执行 ~1000 个 http.Get 的最佳方法

我目前正在点击一个api来收集数据以供我自己处理等等。目前,我每秒执行100个http.Get,我想知道每秒执行大约1000个并发http.Get的最佳方法是什么。这是我现在拥有的:waitTime:=time.SecondvarlastIDuint64=1234567890for{fori:=0;i我正在访问的API速率限制为1000个请求/秒。我使用gofunc(ID)的原因是这样我就可以逐步增加我的ID,而不必担心使用锁来访问“下一个ID是什么”。我只是觉得我做错了。总的来说,我也很陌生。我还假设我必须将我的ubuntu服务器上的ulimit提高到超过1000以处理所有这些打开的