草庐IT

Regex-replace-with-function-evalu

全部标签

http - 去 Gin 框架 : Testing query and POST with cURL

我正在尝试theREADMEofginframework中的代码示例(“另一个例子:查询+发布表单”):packagemainimport("fmt""github.com/gin-gonic/gin")funcmain(){router:=gin.Default()router.POST("/post",func(c*gin.Context){id:=c.Query("id")page:=c.DefaultQuery("page","0")name:=c.PostForm("name")message:=c.PostForm("message")fmt.Printf("id:%s;p

function - 将变量 []interface{} 转换为变量 ...interface{} in go

我正在使用gomysql库来执行多个数据库任务。鉴于我想在mysql库上编写一个包装器包,我发现自己陷入了以下情况:我有一个具有以下签名的方法:func(db*MySQL)Insert(querystring,args...interface{})(int64,错误)此方法从具有以下签名的库中调用db.Exec函数:func(db*DB)Exec(querystring,args...interface{})(Result,error)似乎当我调用我的方法时Insert("somequery",1,"test")values...interface{}被翻译成[]interface{}

regex - Goa 包的类型断言 (uuid.UUID)

我正在测试Goa对于一个API。我想使用uuid作为ID数据类型。我在controller.go中修改了以下函数://Showrunstheshowaction.func(c*PersonnelController)Show(ctx*app.ShowPersonnelContext)error{//v4UUIDvalidateregexvarvalidate=`^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[8|9|aA|bB][a-f0-9]{3}-[a-f0-9]{12}$`uuidValidator:=regexp.MustCompile(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")可能行不通。我们可以

function - 如何从 Go/Golang 中的另一个方法表达式访问方法表达式(结构函数)?

我正在尝试清理我的Go/Golang项目中的代码。我认为以面向对象的方式创建模型可能是惯用的,这样我就可以做到,例如:db.Users.GetID("john")(在“users”表中做一件事)db.Purchases.GetTotal()(在“purchasaes”表中做一件事)等等。但是,这样做的一个问题是数据库函数无法在需要时自行调用。这是我正在谈论的一个小的、人为的例子:packagemainimport"fmt"//AmodelthatcontainsallofthestructsforourdatabasetablestypeModelstruct{UsersPurchas

regex - golang 如何使用正则表达式将字符串拆分为包含分隔符的 slice

我想将一个字符串拆分成一个片段,但想保留分隔符。有没有办法在golang中做到这一点?例如输入:"Hello!It's,a?beautiful$day*(todayandtomorrow).输出:[Hello|!|It's|,|a|?|beautiful|$|day|*|(|today|and|tomorrow|)|.]其中|代表元素的分离。有人可以帮忙吗? 最佳答案 您可以通过创建一个匹配单词或您的特殊字符之一的正则表达式来做到这一点。我不确切知道你的规则是什么,但考虑到输入和所需的输出,这是可行的:[A-Za-z']+|[*?(

regex - 在 ReplaceAllStringFunc 回调中获取组值

我试图用字符串中确定的数字范围用随机数替换字符串packagemainimport("fmt""math/rand""regexp""strconv")funcreplaceFunc(sstring)string{groups:=//??Howdoigetthecurrentmachgroupsreturnrand.Intn(groups[2]-groups[1])+groups[1]}funcmain(){rand.Seed(time.Now().Unix())repl:="1,101,501,121,21,3"repl=regexp.MustCompile("(\\d+),(\\d

戈朗 : 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

去旅行练习 : Errors: using Sprintf with %f to avoid infinite recursion

我正在学习Go教程,在Errors练习中它提到在Error函数中调用Sprint(f)会导致一个问题,这是一个无限循环。此处解释了为什么会发生这种情况:Error,infiniteloop在我的第一个实现中,尽管我使用了带有%f动词的Sprintf:func(eErrNegativeSqrt)Error()string{returnfmt.Sprintf("cannotSqrtnegativenumber:%f",e)}这似乎避免了这个问题,我想知道这是否是因为%f动词需要一个float,所以它强制它将e视为一个float?这次旅行提到assignmentrequiresexplici

regex - guid 的正则表达式

我在使用正则表达式时遇到一些问题。Error:Invalidoperationre:=regexp.MustCompile("(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)")match:=re.FindStringSubmatch(hex.EncodeToString([]byte(href)))fmt.Println(match)我要匹配的测试字符串是/data/1221a7f47-84c1-445e-a615-ff82d92e2eaa/article/jane;version=1493756861347/data/122