草庐IT

Java编码标准

全部标签

Golang 标准包结构

我是Go的新手,我正在尝试使用BenJohnson网页的指导创建结构化应用程序。不幸的是,他的示例并不是一个完整的工作应用程序。他的网页是https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1我尝试使用他的方法,但我不断收到“Undefined:db”错误。它没有告诉我是哪一行导致了错误,只是告诉我文件“MSSQL.go”有人可以提供指导以帮助我修复此错误吗?使用可接受的解决方案编辑代码。StatementPrinter.gopackagestatementprintertypeStatementstru

testing - 如何使用标准的 Go 测试包实现 BDD 实践?

我想先写测试,再写让测试通过的代码。我可以这样写测试函数:funcTestCheckPassword(t*testing.T){isCorrect:=CheckPasswordHash("test","$2a$14$rz.gZgh9CHhXQEfLfuSeRuRrR5uraTqLChRW7/Il62KNOQI9vjO2S")ifisCorrect!=true{t.Errorf("Passwordiswrong")}}但我想为每个测试函数提供更多描述性信息。例如,我正在考虑为我的应用程序创建身份验证模块。现在,用简单的英语,我可以很容易地描述我对这个模块的要求:它应该接受一个非空字符串作

go - 记录到标准输出并获取堆栈跟踪的字符串值

我有一个记录器,可以将堆栈跟踪记录到stdout。我想获取记录到字符串值中的堆栈跟踪,以便我可以将其作为调试电子邮件发送。这是我当前的代码:func(l*Logger)withStack(writerio.Writer,errerror)error{err=errors.WithStack(err)fmt.Fprintf(writer,"%+v\n",err)returnerr}func(l*Logger)Error(errerror)error{//Logsstacktraceto`stdout`...l.withStack(os.Stdout,err)//HereIwanttoge

go - 编码/解码 JSONPB

我正在尝试将一些json数据解码为原始消息。JSON{"id":1,"first_name":"name","phone_numbers":[]}ProtomessageItem{uint32id=1;stringname=2;repeatedstringnumbers=3;}Proto.gotypeItemstruct{Iduint32`protobuf:"varint,1,opt,name=id"json:"id,omitempty"`Namestring`protobuf:"bytes,2,opt,name=name"json:"name,omitempty"`Numbers[]

java - 如何使用 JNA 为具有多个返回值的 go 函数编写接口(interface)

我正在尝试导出一些Go函数并在Java中调用它们,使用JNA,但我不知道如何在Java中为具有多个返回值的Go函数定义接口(interface)。假设Go函数是://exportgenerateKeysfuncgenerateKeys()(privateKey,publicKey[]byte){return.....}返回值有两项,但在Java中,只允许有一项返回值。我能做什么? 最佳答案 cgo为多个返回值创建专用的C结构,并将各个返回值作为结构元素。在您的示例中,cgo将生成/*ReturntypeforgenerateKeys

unit-testing - 如何为单元测试模拟标准包函数

我有三个功能:funcIsSymlinks(pathstring){......}func(c*MyClass)myFunc1(pathstring){...morecode...morecodeifIsSymlinks(path){realPath:=filepath.EvalSymlinks(path)}...morecode...morecode}funcmyFunc2(pathstring){...morecode...morecodeifIsSymlinks(path){realPath:=filepath.EvalSymlinks(path)}...morecode...m

go - 编码文件以发送到 Google AutoML

我正在编写一个golang脚本来将图像发送到GoogleAutoMLAPI的预测引擎。它接受大多数使用以下代码的文件,但某些.jpeg或.jpeg会返回错误500,提示文件无效。大多数情况下它都有效,但我无法弄清楚异常(exception)情况。它们是完全有效的jpg。我正在使用EncodeToString对有效负载进行编码。除其他外,我尝试对其进行解码,将其保存为PNG,但似乎没有任何效果。它不喜欢某些图像。请问是不是我的方法出错了?任何帮助将非常感激。谢谢PS文件保存到文件系统并上传到S3就好了。它只是在发送到Google时失败的字符串编码。imgFile,err:=os.Open

json - 如何处理以base64编码为输入的[]byte(字节数组)

我想从客户端发送一个带有base64编码文件的json字符串,基本上它看起来像这样:{"data":"aGVscA==","filename":"file.txt"}我写了这个结构:typeStoredFilestruct{Data[]byte`json:"data"`Filenamestring`json:"filename"`}然后我将json解码为结构:decoder:=json.NewDecoder(request.Body)storedFile:=StoredFile{}err:=decoder.Decode(&storedFile)并用gorm保存:db.Create(&s

golang protobuf 编码(marshal)固定大小的空结构

我有一个protobuf结构Data在.proto中:messageData{uint64ID=1;uint32GUID=2;}在戈兰中b,err:=proto.Marshal(&pb.Data{})iferr!=nil{panic(err)}fmt.Println(len(b))我得到了0长度!无论pb.Data是什么,如何让proto.Marshal始终返回固定大小?附言。pb.Data只包含int64和int32 最佳答案 这里有两个问题1)protobuf对整数使用varint编码,因此大小取决于值,参见thislink2)

go - 使用 golang 从 YAML 解码/编码多行字符串字段

YAML文件可以包含带有“多行字符串”数据的字段。示例如下:Data:Foo:|enemies=alienslives=3enemies.cheat=trueenemies.cheat.level=noGoodRotten我如何在Golang中正确地编码和解码这些内容,Data字段的类型应该是什么,map[string][]byte?我试过:import(yamlv2"gopkg.in/yaml.v2")typedatastruct{Datamap[string][]byte}funcdecode(bytes[]byte)(*data,error){d:=&data{}err:=yam