草庐IT

Go 系统调用 EnumProcessModules

我正在尝试调用;EnumProcessModules;使用给定句柄的Govar(psapi=syscall.NewLazyDLL("Psapi.dll")procEnumProcessModules=psapi.NewProc("EnumProcessModules"))funcEnumProcessModules(handleuintptr){log.Println(handle)modules:=make([]interface{},2049)varneededintprocEnumProcessModules.Call(handle,uintptr(unsafe.Pointer(

xml - Go XML - 解析 HTML 中的 bool 属性导致 XML 验证错误

我有一个带有以下标签的html输出。我的结构是typeHrstruct{TagNamexml.Name`xml:"hr"`}当我尝试使用“encoding/xml”传递html时,它抛出一个错误,指出该属性没有'='字符。我已经看到抛出此错误是因为默认解码器评估XML时将Strict设置为true。如何忽略它并继续解析文档(使用xml.Unmarshal())?编辑:包括XML和使用的结构。我找到了解码器设置,并使用了NewDecoder,但似乎没有正确进行解码。SometitleTitlehere..file1.txtfile2.zip.....PoweredbyApacheSubv

go - 在golang中嵌入具有相同属性名称的模型结构

使用go1.5和gorm。假设我想创建一个events表,其中包含一个created_by_id和一个updated_by_id列。我这样写我的模型typeBystruct{ByIDsql.NullInt64By*User}typeCreatedBystruct{By}typeUpdatedBystruct{By}typeEventstruct{CreatedByUpdatedBy}当我尝试保存event对象时,将尝试保存by_id列的值,而不是created_by_id的值和updated_by_id。我需要做什么来确保ByID属性的列名称对于CreatedBy和UpdatedBy是

networking - 尝试在 go 中实现端口扫描器

我最近开始学习围棋。唯一的原因是goroutine似乎只存在于这种语言中(我有java背景,老实说,永远不会完全切换到go)。我想实现一个简单的端口扫描器,它可以在给定的网络范围内找到每个http服务器(打开端口80的主机)。以下是我的做法:packagemainimport("net""fmt""regexp""strconv""time")//nexttwofunctionsareshamelesslycopiedfromsomewherefuncip2long(ipstrstring)(ipuint32){r:=`^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\

java - 如何触发 java 应用程序(来自 Google GO/golang sub_process 的 java -jar <app name>

我正在尝试将java命令行应用程序作为golang的子进程触发。由于某种原因它失败了,实际上当我从GO启动它时我没有得到javaAPP界面。它等待几秒钟并以错误代码“无法连接...”终止这是我尝试使用的代码:packagemainimport("fmt""os/exec")funcmain(){start_java_app_test()}funcstart_java_app_test(){cmd_prep:="java-Xmx2g-jartest_app.jar"cmd_output,err:=exec.Command("bash","-c",cmd_prep).Output()ife

go - Go 中具有作用域的多组 const 名称

我有一个Go应用程序,它需要无限数量的常量集。该应用程序还要求我能够在运行时将字符串映射到(整数)常量,反之亦然。常量的名称只能保证是有效的标识符,因此几乎可以肯定会有重复的常量名称。特别是,每组常量都有一个名为“Invalid”的元素。在C++11中,我会使用枚举类来实现作用域。在Python中,我可能会使用类变量。我正在努力寻找一种惯用的方式来在Go中表达这一点。我看过的选项包括:为每组常量使用单独的包。这有很多缺点,因为我宁愿整个集合都在同一个包中,这样我就可以在包级别构建对这些集合的支持,这样我就可以测试全部而不会使测试代码过于复杂一次进行多包测试。first.go:packa

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