草庐IT

导入github项目

全部标签

go - 将映射传递给导入的 Golang 包中的函数时出错

我需要将映射发送到导入包中声明的函数,并不断收到此错误:./main.go:21:cannotusem(typemap[string]ticket)astypemap[string]some_package.ticketinfunctionargument这是golangGOPATH文件夹中main.go的代码:packagemainimport("time"sp"./some_package")typeticketstruct{Timestampint64Identification_numberint}varmmap[string]ticketfuncmain(){humans:=

github - 解析 access_token 的 Github 响应

只是摆弄GithubAPI和oauth。我已经到了从GH收到access_token的地步。我到目前为止:url:="https://github.com/login/oauth/access_token"params:=map[string]string{"client_id":client_id,"client_secret":client_secret,"code":code}data,_:=json.Marshal(params)resp,_:=http.Post(url,"application/json",bytes.NewBuffer(data))deferresp.Bo

go - 在链接列表的末尾插入项目

我很新去决定实现链表。这是我的源代码packagemainimport"fmt"typeNodestruct{valueintnext*Node}funcmain(){varhead*Nodefori:=1;i输出是:EmptylistAdd2Add3Add4Add5Add6Add7Add8Add9Add101换句话说,我不能在链表的末尾插入一个新的节点。我相信这是由cur_node.next=&new_node引起的,它只在本地进行更新,但不知道如何解决这个问题。 最佳答案 问题出在您的插入函数中-这是更正后的版本funcinse

go - 导入的结构用作匿名字段

所以我正在尝试编写一些Go文件,以便有一个面向公众的包和一个内部包。在面向公众的包中,有一个结构与内部结构几乎相同(缺少一个字段)。我想过在内部结构体中使用匿名字段,但似乎不太好玩。例子:public/public.go:packagepublictypePublicStructstruct{Field1bool`json:"fetchStats"`}数据/数据.gopackagedataimportpublicData"public"typeInternalStructstruct{publicData.PublicStructField2bool`json:"includeHidd

go - 导入驻留在同一目录中的文件

让我很难用Go编程的一件事是我必须将我想在我的主模块中导入的模块(或者我应该称它们为包?)放在单独的目录中,甚至更多,必须有一个src目录。有没有办法导入与主模块位于同一目录中的文件?当前目录布局:main.gosrc/lib/lib.go现在我可以import"lib"我最想拥有的东西:main.golib.go并且仍然让编译器愉快地找到lib.go。 最佳答案 这是您想要的布局:main.golib.go这没问题。Go允许你有这样的文件结构。它被很多Go程序使用。但是它们都需要定义为packagemain。如果你问为什么?因为那

go - 在 IntelliJ 中导入 Go 项目不起作用

我最近开始接触Go编程,想看看一些开源项目。我克隆了一个,我想将其导入IntelliJCommunityEdition2017.1.1,但是当我导入整个项目时,出现奇怪的错误。IntelliJ无法以某种方式找到Go二进制文件。这是我的设置:joe-MacBook-Pro:go-ethereumjoe$echo$GOPATH/Users/joe/Projects/Private/go-projectsjoe-MacBook-Pro:go-ethereumjoe$这是安装Go的地方:joe-MacBook-Pro:go-ethereumjoe$whichgo/usr/local/bin/g

go - 检测导入包中的竞争条件

我有一个包,我在其中编写了一个golang代码。我担心程序运行不正常,因为它会不时输出不同的结果。可能是由于racecondtions。所以我跑了很多次:gorun-racemyprogram但我没有收到任何警告或错误。可能错误出现在我导入的另一个包中。据我了解,-race标志不会检测到它们。如果是这样,我该怎么做(检测不是在我的代码中而是在我导入并在我的代码中使用的包中发生的竞争条件)? 最佳答案 竞争条件检测是假阴性而不是假阳性。这意味着它可以在竞争刚刚发生的任何时候检测到竞争——当一个程序试图同时读取或写入一个共享值时。底线是

go - Go项目结构

我的程序使用了几个文件,比如*.json、*.db我应该如何放置它们?第一个变体:project|->src|->main|main.go|main_test.go|->data|database.db|->config|config.go|->data|config.json...或者:project|->src|->main|main.go|main_test.go|->config|config.go...|->data|database.db|config.json我更喜欢第二种变体,但是在尝试编写测试时遇到了麻烦。我尝试使用“/absolute/path”,但它不起作用,因为

go - 如何将更多项目添加到各种类型的 slice 中

我希望能够将特定类型的slice传递给一个函数,该函数将用该类型的更多项填充它。这是一个代码示例,无法编译,但描述了我想要实现的目标:packagemainimport("log""reflect""strings")typePersonstruct{Name,Hobbiesstring}typeCatstruct{Name,FurColorstring}funcmain(){people:=[]Person{}createThings(&people,10)log.Println(people)cats:=[]Cat{}createThigns(&cats,5)log.Println

go - 如何修复此导入?

main_test.gopackagemain_testimport("log""os""testing"".")funcTestMain(m*testing.M){a=main.App{}a.Init(os.Getenv("TEST_DB_USERNAME"),os.Getenv("TEST_DB_PASSWORD"),os.Getenv("TEST_DB_NAME"))ensureTableExists()code:=m.Run()clearTable()os.Exit(code)}应用程序去packagemainimport("database/sql""fmt""log""gi