草庐IT

custom_is_valid

全部标签

Golang vips : How to render text with custom truetype font?

当我们想要将文本呈现为vips图像时,您可以使用vips_text执行类似的操作:import"C"vartextImage*C.VipsImagecText:=C.CString("Sometext")cFont:=C.CString("Arial12px")C.cgo_vips_text(&textImage,cText,cFont)但是这里,Arial12px是一个fontconfig字符串名称,并假定系统已经安装了这种字体。如何让程序使用自定义truetype字体文件,例如Roboto.ttf?尝试cFont:=C.CString("Roboto.ttf")可能行不通。我们可以

戈朗 : How do I encrypt plain text that is 5 characters long with DES and CBC?

目前正在尝试将5个字符长的明文加密为12个字符的加密字符串。我希望能够指定一个唯一的IV(不是随机生成的)、一个唯一的key,并使用DES。我现在的code要求明文长度为8个字符(5个字符名称加3个空格)。 最佳答案 我已经遇到过这个问题。这是因为填充问题。你想要的代码是一个Codelink你可以在goplayground上测试它。packagemainimport("crypto/cipher""crypto/des""encoding/base64""fmt""bytes")funcmain(){originalText:="y

validation - Golang 验证器多字段依赖

我想验证以下结构:typeCarModelstruct{gorm.ModelOwnerIDint`json:"ownerid"validate:"nonzero"`Typestring`json:"type"validate:"regexp=(?)(A|B)"`Astring`json:"url"validate:"isurl"`Bstring`json:"ip"validate:"isip"`}我想根据类型验证A和B,如果type=A那么A必须存在并且必须是一个URLBUT不能存在如果type=B那么A一定不存在并且B必须是一个IP验证器可以吗?我确实尝试过自定义验证,但我找不到查看

regex - Go validator.v2 为正则表达式给出错误 "unknown tag"

我一直在努力理解为什么一些正则表达式在使用validator.v2时给我一个错误“Unknowntag”在golang中打包。它适用于某些正则表达式,但不适用于其中包含“{}”的某些正则表达式,并且当我使用validator.Validate()时,它在运行时给我一个错误“未知标记”。代码如下:typeCompanystruct{Namestring`validate:"regexp=^[a-zA-Z.]{1,100}$"`}这在运行时给我以下错误:Name:unknowntag但是这个正则表达式工作得很好typeCompanystruct{Namestring`validate:"r

docker - 去构建 : build output "api" already exists and is a directory

我正在尝试使用CompileDaemon热重载使用Docker的go项目。我的文件夹结构如下所示my-api-server-main.go-Dockerfile-docker-compose.yml-Makefile这是我得到的错误:gobuildgithub.com/firstApi/test-platform/lib/my-api/server:构建输出“server”已经存在并且是一个目录这是我的dockerfile的样子FROMgolang:1.12-stretchENVGO111MODULE=onWORKDIR/go/srcCOPYgo.mod.COPYgo.sum.RUNg

validation - 如何在 Go 中处理控制台输入类型验证?

我正在尝试使用循环为程序构建一个非常基本的控制台输入。但是,当用户输入的不是整数时,错误消息的触发次数与输入字符串中的字符数(包括换行符)一样多。我已经尝试过使用Scan()、Scanln()和bufio.NewReader()进行字符串解析,并在Println()之后使用continue。所有结果都相同。varthreadsintfuncmain(){fmt.Println("Enternumberofthreads:")for{_,err:=fmt.Scanln(&threads)iferr!=nil{fmt.Println("Enteravalidnumber")}else{br

gorename : What is a 'DO NOT EDIT' marker?

我正在使用vscode并尝试重命名变量名称。它没有说:Renamefailed:gorename:cannotrenameidentifiersingeneratedfilecontainingDONOTEDITmarker:/home/adam/go/src/hello/hello.go那么什么是DONOTEDIT标记?为什么它在那里,我怎样才能删除它以便gorename可以做它的事情?我的文件是这样开始的:packagemain//#cgoCFLAGS:-g-Wall//#include//#include"c/greet.h"import"C"import("encoding/j

mysql - 无法连接到 DB : database is closed

我有以下项目结构:-main.go-db--dbinit.go在dbinit.go中,我有以下代码:packagedbimport("database/sql"_"github.com/go-sql-driver/mysql")varDb*sql.DBvarerrerrorfuncinit(){Db,err=sql.Open("mysql","myDBCreds")deferDb.Close()}在main.go中我有:packagemainimport(db"./db")funcmain(){deferdb.Db.Close()sqlStatement:=`INSERTINTOtab

go - 错误 "protoc-gen-go: program not found or is not executable"

我正在尝试使用Go构建示例应用程序gRPC,但我无法使用“协议(protocol)”生成代码我已经使用以下方法安装了所需的库和Go包:goget-ugoogle.golang.org/grpcgoget-ugithub.com/golang/protobuf/protoc-gen-go我也试过设置路径,但没有成功。示例“原型(prototype)”文件:syntax="proto3";packagegreet;optiongo_package="greetpb";serviceGreetService{}错误信息:"protoc-gen-go:programnotfoundorisno

转到 : channel is necessary in this case?

http://play.golang.org/p/Xn3Qw7xAi3很难理解channel。我有funcmain(){in:=make(chanint)out:=make(chanint)goQuickSort(in,out)fori:=0;i这使得名为in、out和goroutine的两个channel成为函数Quicksort。1.QuickSort如何将in和out作为参数?它是否从下面的线路接收?in2。这种情况下使用channel是最佳的吗?动态地接收值看起来非常整洁……如果没有channel进行排序会有什么不同?这种情况更快? 最佳答案