草庐IT

go-socketio

全部标签

go - unicode 按字面输出而不是 unicode

我正在使用Go创建一个IRC机器人作为第一个项目来掌握这门语言。机器人功能之一是从TVmazeAPI中获取数据并显示在channel中。我导入了一个env包,它允许机器人管理员定义输出的显示方式。例如SHOWSTRING="#showname#-#status#–#network.name#"我正在尝试为其添加功能,以便管理员可以使用IRC格式化功能,该功能通过\u0002访问,例如,这是粗体\u0002。我有一个函数可以生成要返回并显示在channel中的字符串。funcgenerateString(showShow)string{str:=os.Getenv("SHOWSTRING

go - 在 Unmarshal 上改变一个字符串

我有一个Profile{}结构,其ID属性类型为uuid.UUID。当我编码它时,我将UUID转换为string,如下所示:typeProfilestruct{Iduuid.UUID}func(profile*Profile)MarshalJSON()([]byte,error){typeAliasProfilereturnjson.Marshal(&struct{Idstring*Alias}{Id:profile.Id.String(),Alias:(*Alias)(profile),})}但是,当我想解码此JSON时,它会提示id是一个字符串。所以我需要在解码时初始化一个UUID

google-app-engine - 如何在应用引擎上使用 Go 获取 youtube 播放列表视频

使用Apikey,我能够从ApiExplorer获取播放列表中的视频。ExecutewithoutOAuth获取结果json。这是链接。https://developers.google.com/apis-explorer/?hl=en_US#p/youtube/v3/youtube.playlistItems.list?part=snippet&playlistId=PLHyTuYqPkZCzt7mWZ4hmmrRdjLJiw6O2T&_h=2&在AppEngine上使用Go实现相同的调用失败并出现以下错误:Gethttps://www.googleapis.com/youtube/

json - 如何为从 Go 中的标量派生的类型实现 UnmarshalJSON?

我有一个简单的类型,它在Go中实现了子类型整数常量到字符串的转换,反之亦然。我希望能够自动将JSON中的字符串解码为这种类型的值。我不能,因为UnmarshalJSON没有给我返回或修改标量值的方法。它需要一个结构,其成员由UnmarshalJSON设置。除了内置标量类型,“,string”方法也不起作用。有没有办法为派生的标量类型正确实现UnmarshalJSON?这是我所追求的一个例子。我希望它打印四次“HelloRalph”,但它打印了四次“HelloBob”,因为PersonID没有被更改。packagemainimport("encoding/json""fmt")typeP

json - 反序列化嵌套的 JSON,或者简单地在 Go 中传递它

使用Go构建基本API,我将JSON存储在postgres表的JSON字段中,以及一些其他(普通)数据类型。使用我的模型,我只是尝试从数据库中获取一行并将其作为JSON向前传递。使用GORM为了将数据反序列化为结构,大部分映射都是无缝发生的,但JSON除外,它根据所选数据类型呈现为字节数组或字符串。以下是模型(已更新):typeItemstruct{--snip--Stats[]ItemInfo`gorm:"column:stats"json:"stats"sql:"json"`--snip--}typeItemInfostruct{Statstring`json:"stat"`Amo

http - 为什么我的 Hello World go 服务器被 ApacheBench 压垮了?

packagemainimport("io""net/http")funchello(whttp.ResponseWriter,r*http.Request){io.WriteString(w,"Helloworld!\n")}funcmain(){http.HandleFunc("/",hello)http.ListenAndServe(":8000",nil)}我有几个非常基本的HTTP服务器,它们都出现了这个问题。$ab-c1000-n10000http://127.0.0.1:8000/ThisisApacheBench,Version2.3Copyright1996AdamT

go - 为什么 `go get` 在 Travis CI 构建中开始失败?

我在一个存储库上打开了一个拉取请求,该存储库在Travis中经历了一个构建周期。jobfailingishere.我找不到一个很好的理由来说明为什么这项工作特别继续失败。我已经多次重启它以查看它是否是临时超时。核心错误是:Thecommand"gogetgolang.org/x/tools/cmd/vet"failedandexitedwith1during.完整日志在这里:https://gist.github.com/mjbrender/79e0343625038bce440aGolang的vet包有什么我在这里没有看到的变化吗?或者这只是一个不稳定的过程?如果是,是否有改进构建过

go - Go语言有函数/方法重载吗?

我正在将C库移植到Go。C函数(带有可变参数)定义如下:curl_easy_setopt(CURL*curl,CURLoptionoption,...);所以我创建了包装器C函数:curl_wrapper_easy_setopt_str(CURL*curl,CURLoptionoption,char*param);curl_wrapper_easy_setopt_long(CURL*curl,CURLoptionoption,longparam);如果我像这样在Go中定义函数:func(e*Easy)SetOption(optionOption,paramstring){e.code=

go - Gorm 中的 many2many,真的

我正在尝试在gorm中使用多对多关系。但是,该示例是部分片段,我尝试创建类似示例片段的尝试失败了。packagemainimport("github.com/jinzhu/gorm"_"github.com/mattn/go-sqlite3")typePartstruct{gorm.ModelNamestring}typeMachinestruct{gorm.ModelNamestringSubtasks[]Part`gorm:"many2many:parts;"`}funcmain(){//Connecttothedatabasedb,err:=gorm.Open("sqlite3"

json - 在 Go 中解析远程 json

这个问题在这里已经有了答案:json.Marshal(struct)returns"{}"(3个答案)关闭6年前。基本上,我正在尝试解析JSON并将其值分配给结构。运行此命令时我没有收到任何错误,但返回的structyeilds{000}是不正确的。我尝试输入一个虚假的url来查看是否只是连接问题,但似乎并非如此。既然Go不是异步的,那么只按顺序调用应该没有问题,对吧?这是我在某个网站上托管的JSON{"ability":5335,"time":338,"level":1}这是代码packagemainimport("encoding/json""fmt""io/ioutil""net