草庐IT

文件夹

全部标签

Go - 下载前缀下的 S3 文件

我正在尝试下载目录下的文件,而不是直接下载存储桶中的文件。file,err:=os.Create("s3file.csv")downloader:=s3manager.NewDownloader(session.New(&aws.Config{Region:aws.String("us-east-1")}))numBytes,err:=downloader.Download(file,&s3.GetObjectInput{Bucket:aws.String(bucket),Key:aws.String(key),})桶名称-“myBucket”文件夹名称-“myFolder”文件名-“

html - 无法通过 nginx 使用我的 goapp 提供静态文件

我正在Ubuntu服务器上制作我的第一个go应用程序。当我使用可执行文件或简单地运行main.go来运行我的服务器时,我得到了要呈现的初始html页面,但没有css、图像或js。这些路线还将我带到404页面。唯一似乎通过的是index.html(它被命名为index.gohtml作为go的模板)当我在本地主机和服务器上的ip:port配置上运行它时,我的所有Assets都被加载,但是当我使用nginx时,Assets根本没有加载。由于这些因素,我假设nginx是我遇到问题的地方。以下是我目前所拥有的。这是我第一次使用nginx,所以我不知道正确配置它需要什么。server{listen

go - golang中如何生成多个uuid和md5文件

您好,我已经在golang中生成了Md5和uuid,但现在我想使用命令行参数为多个文件生成它,所以我到底需要做什么。这就是我生成md5和uuid的方式:packagemainimport("crypto/rand""crypto/md5""fmt""io""os""log""text/template")typeDatastruct{UuidstringMd5string}funcmain(){uuid,err:=newUUID()iferr!=nil{fmt.Printf("error:%v\n",err)}fmt.Printf("UUID:%s\n",uuid)md5:=Getmd

go - 如何针对本地文件更改更新 go doc?

当我调整我的Go文档时,godoc显示的是旧文档。我如何让godoc根据本地文件更改更新其缓存? 最佳答案 奇怪,godoc提供了一个缩略版的文档:包含包文档,并列出了public成员,但是godoc命令不显示文档对于公共(public)成员,即使使用-u选项。相反,必须使用godoc工具。 关于go-如何针对本地文件更改更新godoc?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

go - 单个 go 项目使用的 go 包的正确文件夹结构

我目前正在开始使用Go,并且已经深入研究了有关包命名和工作区文件夹结构的注意事项。不过,我不太确定如何根据Go范式正确组织我的代码。这是我当前的结构示例,它位于$GOPATH/src中:github.com/myusername/project|--main.go+--internal+----config|------config.go所以我有一个名为project的项目,它使用config包,而该包又以一种只应由project使用的方式专门化。因此,我不希望它位于github.com/myusername/config下,对吗?现在的问题是,使用内部包结构是否“好”,或者我应该将我

pointers - 如何跨包中的文件使用全局变量?

我有以下文件结构:模型/db.gotypeDBstruct{*sql.DB}vardb*DBfuncinit(){dbinfo:=fmt.Sprintf("user=%spassword=%sdbname=%ssslmode=disable",DB_USER,DB_PASSWORD,DB_NAME)db,err:=NewDB(dbinfo)checkErr(err)rows,err:=db.Query("SELECT*FROMprofile")checkErr(err)fmt.Println(rows)}funcNewDB(dataSourceNamestring)(*DB,error

google-app-engine - goapp 二进制文件在哪里?

我对Golang的设置很困惑。我下载了go_appengine_sdk_darwin_amd64-1.9.48.zip。当我解压缩zip文件时,我找不到goapp二进制文件。看起来goapp是一个用于运行本地GAE服务器的二进制文件,但我是golang的新手,只是遵循教程:https://cloud.google.com/appengine/docs/go/getting-started/creating-guestbook#building_and_running_locally$lsgo/bin/total54560-rwxr-xr-x@1bryanstaff9884220Feb1

go - 如何避免通过 Go 提供模板文件

我正在用Go写一个小网站,我发现了一些我不知道如何解决的问题。所以...基本思想是为主题创建一个单独的文件夹,称为/themes/,我们将在其中放置所有主题,例如经典、现代等。目录树将如下所示:/themes/classic/index.htmlheader.htmlfooter.htmlcss/style.cssjs/lib.jsmodern/index.htmlheader.htmlfooter.htmlcss/style.cssjs/lib.js所以,我的http处理程序:funcmain(){reloadConfig()http.HandleFunc("/",homeHandl

go - 在 "go-getable"包中选择不同的可执行文件名称

是否可以有一个“go-getable”的cli-package(packagemain),但二进制文件安装在不同的名称下?例如拥有一个仓库github.com/exaring/foo-cli但是gogetgithub.com/foo/foo-cli会安装一个名为foo的二进制文件(不是foo-cli)?重点是要有一个富有表现力的存储库名称,但要有一个简短且易于键入的可执行文件。 最佳答案 如果您同意用户运行gobuild而不是goget,您可以这样做:gobuild-ofoogithub.com/foo/foo-cli否则,您可以将

go - 如何覆盖压缩包中的文件

我有一个极端情况,其中两个文件具有相同的名称但内容不同并且被写入相同的tarball。这导致tarball中有两个条目。我想知道如果tar文件已经存在于tarball中,我是否可以做任何事情来使tar覆盖该文件,而不是创建另一个具有相同名称的文件。 最佳答案 不可能,因为当您要求写入第二个文件时,第一个文件已经写入并且流已经推进了位置。请记住,tar文件是按顺序访问的。你应该在开始写入之前进行重复数据删除。 关于go-如何覆盖压缩包中的文件,我们在StackOverflow上找到一个类似