草庐IT

use_file

全部标签

go - 主.go :9: use of package str without selector

我在TourofGo的解释器中有以下内容:packagemainimport("golang.org/x/tour/wc"str"strings")funcWordCount(sstring)map[string]int{results:=make(map[str]int)words:=str.Fields(s)returnmap[string]int{"x":1}}//funcmain(){//wc.Test(WordCount)//}这是基于https://tour.golang.org/moretypes/23我的错误是tmp/sandbox169629521/main.go:9

unit-testing - httptest.NewRequest 与 http.NewRequest : which one to use in tests and why?

Golang有这两个相似的库http和httptest并且它们都有NewRequest函数。如果http.NewRequest能做到这一切,为什么我们还需要httptest.NewRequest?如果我需要为我的测试创建多部分/多形式请求,我需要使用哪一个? 最佳答案 如文档中所示,httptest.NewRequest“返回一个新的传入服务器请求,适合传递给http.Handler进行测试”,而http.NewRequest“返回适合与Client.Do或Transport.RoundTrip一起使用的请求。”因此,如果您在单元测

file - 使用小 RAM 在 Go 中读取大文件的最快方法

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我想从不同的文本或JSON中读取数据或CSV文件。我应该遵循哪种方法?我有博文Fileread和Read2 GBtextfilewithsmallRAM用于文件读取的不同方法。不同的方法:分块读取文件同时读取文件block将整个文件读入内存将长字符串拆分为单词逐字扫描用小RAM读取文件的最快方法是什么?

file - 为什么我的 Go 程序使用打开文件的名称创建另一个 Go 进程,为什么它这么大?

我有一个大约2mb的大.json文件。我正在使用thiscode读取json,稍作修改:funcmain(){pages:=getPages()for{}for_,p:=rangepages{fmt.Println(p.toString())}如您所见,我设置了一个无限循环,这样我就可以让程序在读取进程的RAM大小时等待。当我去阅读它时,我发现有2个go程序在运行。我刚刚做了去运行myfile.go但后来我得到了2个二进制文件:一个名为go,另一个是文件名,没有json部分。go二进制文件大约有5mb,但是这个有36mb...为什么go使用文件名创建另一个进程?它是保存文件的地方以便我

file - 为什么golang File struct设计成这样

golang文件结构是这样的:typeFilestruct{*file}而Filestructfunctiona也是为了接收指针而设计的,为什么要这样设计呢? 最佳答案 在Goos包源码注释中有说明。例如,这是安全的:packagemainimport"os"funcmain(){f,err:=os.Create("/tmp/atestfile")iferr!=nil{*f=os.File{}}//finalizerruns}Packageosgo/src/os/types.go://Filerepresentsanopenfile

go - 错误 :fork/exec : no such file or directory -- when run Golang code in docker

首先感谢任何帮助我想在容器中执行Gocode:FROMindex.tenxcloud.com/tenxcloud/centos:centos7ADD./ping-app/wls/applications/ping-appRUNyuminstall-ygcclibxml2-devellibxslt-devel&&ldconfigRUNyuminstall-yopenssh-servernet-toolstelnetRUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeRUNmkdir-p/wls/logs/&&touch/wls

go - 我收到错误 fatal error : runtime: out of memory while downloading video using 'go-ipfs-api'

我使用go-ipfs-api从ipfs下载了一个大文件,web访问下载。我收到一个fatalerror:runtime:outofmemory.如何修改我的代码?funcmain(){http.HandleFunc("/",download)http.ListenAndServe(":8080",nil)}funcdownload(whttp.ResponseWriter,r*http.Request){client:=shell.NewShell("http://127.0.0.1:5001")fd,err:=client.Cat("QmTcj7SfRf4vnLnCqnxMT7kut

ubuntu - Gogs 构建失败并显示 "no buildable Go source files"

我试图从thisguide之后的源代码安装gogs.然而,一旦我导航到gogs目录并点击“gobuild”,我收到以下错误“[PATH-TO-GOGS]中没有可构建的Go源文件”但是所有必需的文件似乎都在那里。 最佳答案 我会继续回答我自己的问题,因为我想通了:进入gogs目录nanogogs.go看第一行对我来说是//+buildgo1.5这意味着您至少需要go1.5才能构建。现在看看你的go版本:go--version如果这个数字较小,这就是您的构建甚至无法开始的原因。在我的例子中,ubuntu使用的是位于的旧版本whereis

arrays - 无法对二维数组的列进行 slice "cannot use Sudoku[0:9][0] (type [9]int) as type []int in assignment"

我正在使用9x9二维数组的slice制作一个简单的数独游戏。我仍然刚开始使用Golang并且有一些C++经验。我不断收到错误消息“无法将数独[0:9][0](类型[9]int)用作赋值中的类型[]int”。varrow1[]int=数独[0][0:9]该行正确地获取了二维数组第一行的值并将它们放入row1slice中,但是使用varcol1[]int=Sudoku[0:9][0]会导致上面的错误消息。我能做什么?提前致谢!例如,packagemainimport"fmt"funcmain(){varSudoku[9][9]intfmt.Println(Sudoku)varrow1[]i

file - 如何在 Go 中将十六进制字节写入文本文件?

我想用Go语言将端口I/O操作记录到文本文件中。我写了这样一个函数:functrace(buffer[]byte){f,err:=os.OpenFile("trace.log",os.O_APPEND|os.O_CREATE|os.O_WRONLY,0644)iferr!=nil{return}deferf.Close()for_,val:=rangebuffer{if_,err:=f.Write([]byte{val});err!=nil{return}}}但是f.Write方法写入文件ASCII字符串等价物,而不是[]byte值。我需要十六进制值,而不是日志中的字符串。我不明白,为