最近在开发过程中会遇到一些字符串匹配相关的内容,正好去大概学习了下Golang中的regexp模块。...因为目前正则模块对我来说更多的就是去匹配并处理字符串的,因此目前主要关注几个返回为string类型的方法。...regexp模块的结构体和方法定义 //正则结构体 type Regexp struct { // contains filtered or unexported fields } /...12343BIAOGE11sadsxsakxz-test-BIAOGE-container.BIAOGE-@xxbandy.github.io Match String: true 不论是哪种语言的正则模块
关于template模板,Golang语言提供了两个包text/template和html/template,前者主要用来处理文本文件的变量渲染,而后者主要用于对html之类的网页文件进行渲染。...由于最近在使用gin框架编写REST API,顺便学习template的使用,再此记录一下。...html/template常用的对象和方法 template模板的使用主要是在对Template结构体的相关方法进行操作。我们首先得初始化一个Template对象。...函数创建的模板需要指定模板内容 func (t *Template) Parse(text string) (*Template, error) ## Delims()方法用来指定分隔符来分割字符串,随后会使用...因此,使用该方法一定要注意并发安全性 func (t *Template) Execute(wr io.Writer, data interface{}) error ## 同上 func (t *Template
它也被称为Unix时间戳(UnixTimestamp) 使用time.Unix()函数可以将时间戳转为时间格式 package main import ( "fmt" "time" ) // time...加上1个小时 fmt.Println(t2) // sub:t2 - now fmt.Println(t2.Sub(now)) // equal before after } 定时器 使用
log 日志 log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法 func New 创建log对象 func New(out io.Writer, prefix string, flag...Panicf(format string, v ...interface{}) func Panicln func (l *Logger) Panicln(v ...interface{}) 使用模块方法...// 除了新建自定义日志对象,也可以直接通过log使用相关方法. // 模块方法只是多出了 func SetOutput 用来设置日志输出 log.SetOutput(os.Stdout) log.Println
因项目需要,很多代码和python模块是go语言没有的,虽然有个项目是转化python代码到golang代码,但是还没开始用,关键是python引用的模块如此之多,不可能都去转换对吧。...simple ansys-dpf-post pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ansys-dpf-core 9.go-py3例子 Golang...中调用Python3 - 知乎 调用python模块中的方法 比如,一个python的代码如下 # plot.py import os,sys import ansys.mapdl.reader as...导入hello模块 plot := ImportModule("D:/snack/ansys", "plot") //导入python代码plot.py qin := plot.GetAttrString...aaa,开始使用aaa里的read_binary方法,用callmethodargs,方法名称写在括号里,参数写在方法名称后面。
作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用。...项目地址:https://github.com/goravel/goravel 欢迎 star 与 issues :) 缓存模块 介绍 Goravel 提供了可拓展的缓存模块。...该模块可以使用 facades.Cache 进行操作。 配置 在 config/cache.php 中进行所有自定义配置。...允许配置不同的缓存驱动,默认使用 redis,你也可以自定义驱动,可以进入配置文件进行查看。...可用的缓存驱动 名称 描述 redis Redis 驱动 custom 自定义驱动 缓存使用 从缓存中获取数据 value := facades.Cache.Get("goravel", func()
官方网站:https://golang.org/ GitHub:https://github.com/golang 变量 $GOROOT go 安装路径 $GOPATH 用于指定除 $GOROOT 之外的包含...使用 $ go env 查看 go 相关环境变量。 $GOOS $GOARCH 目录结构 src pkg bin 命令 go install go get go build
host1:port,host2:port") 生成objectid i := bson.NewObjectId() c.Insert(bson.M{"_id": i, "foo": "bar"}) golang...使用 mongo gte lte 功能 searchErr = SearchReading(bson.M{"k": key, "t": bson.M{"$gte": start, "$lte": end...golang md5 计算 func genQueryMd5(str string) string { hash := md5.New() b := []byte(str) hash.Write(...02 03:04:05")) //从字符串转为时间戳,第一个参数是格式,第二个是要转换的时间字符串 tm2, _ := time.Parse("01/02/2006", "02/08/2015") golang...byte 转string golang里边 string的概念其实不是以前遇到/0结尾的概念了,他其实就是一块连续的内存,首地址+长度,上面那样赋值,如果p里边有/0,他不会做处理这个时候,如果再对这个
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。
在web开发中,json好像是一个绕不开的一个模块,今天我们来讲一下golang的json标准库....encoding/json是golang官方提供的json标准款,实现了RFC 7159中定义的JSON编码和解码.在使用的过程中需要预先定义好struct.相对来说,其性能较低....= nil { fmt.Println( err) } os.Stdout.Write(jsonInfo) } 输出结果为: {"Name":"Golang"} 2.json解析为结构体 type...CodeType struct { Name string } func main() { var jsonInfo =[]byte(`[ {"Name":"Golang"},{"Name":"...json解析库easyjson和ffjson 这两个库并没有用反射的原理去实现,而是为struct生成静态的MarshalJSON和UnmarshalJSON函数,这种类似于预编译,调用编码解码时直接使用生成的函数
为什么要使用protobuf 最近的项目中,一直使用Json做数据传输。Json用起来的确很方便。但相对于protobuf数据量更大些。做一个移动端应用,为用户省点流量还是很有必要的。...正好也可以学习一下protobuf的使用 跟Json相比protobuf性能更高,更加规范 编解码速度快,数据体积小 使用统一的规范,不用再担心大小写不同导致解析失败等蛋疼的问题了 但也失去了一些便利性...linux则需要编译),最后将下载好的可执行文件拷贝到$GOPATH的bin目录下($GOPATH/bin目录最好添加到系统环境变量里) 安装protobuf库文件 go get github.com/golang.../protobuf/proto goprotobuf 安装插件 go get github.com/golang/protobuf/protoc-gen-go 生成go文件 protoc --go_out...使用protobuf
操作步骤 为在CentOS 7上安装Go语言环境,可以按照以下步骤进行操作: 下载Go语言包: 从官方网站 https://golang.org/dl/ 下载适用于Linux的Go语言包。...解压缩Go语言包: 使用以下命令解压缩下载的Go语言包 [root@VM-24-3-centos minio]# tar -C /usr/local -xzf go1.21.5.linux-amd64.../etc/profile source ~/.bash_profile mkdir -p $GOPATH/src mkdir $GOPATH/bin mkdir $GOPATH/pkg 验证安装: 使用以下命令检查
Hugo 是 Golang 编写的静态网站生成器,速度快,易用,可配置,我也是通过golang的学习,发现了Hugo,它不用依赖一大堆东西,一个二进制文件就可以搞定,简洁。...1.为什么要写一个 Hugo 发布器 事情的起因 我最初使用的是maupassant主题作为博客网站的主题,但是偶然间发现了其在移动端的适配效果不太理想,然后就想着去找一款能够完美适配移动设备的主题,最后通过配置服务器去判断用户使用的设备...**为了延续Hugo的golang血统,所以继续选择go 2.包 2.1 os/exec 主要用于验证hugo命令是否存在于系统环境中 func checkHugo() error { //验证...= nil { fmt.Println(err.Error()) log.Fatal(err) } 2.3 golang.org/x/crypto/ssh 主要用于创建ssh连接 func...使用效果如下: 这里我通过github.com/urfave/cli包编写了一个命令行工具hugop。
bytes类型 在互联网上是通过二进制进行传输,所以就需要将str通过encode()编码成bytes进行传输,而在接收中通过decode()解码成我们需要的编码进行处理数据这样不管对方是什么编码而本地是我们使用的编码这样就不会乱码...但由于b'str_obj'可以表示bytes_obj 所以,字节数组 二进制str C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int、float的转换 你可以使用位运算把其他数据类型转换为字节类型...Python值和以Pythonbytes表示的C结构体之间的转换,这可以用于处理存储在文件中或来自网络连接以及其他源的二进制数据;它使用一定格式的字符串作为C语言结构布局的简洁描述以及到或从Python...解包函数:unpack(fmt, buffer) 其中,fmt是格式字符(format的谐音),struct模块支持的格式化字符如下表 ? pack()函数 写个文件简单测试下 ? ? ?...unpack()函数 使用unpack()函数从写好的二进制文件中读出文件 ? ? 先用二进制编辑器随便写一个文件 ? 然后调用struct模块的unpack()函数读取数据 ? ?
package sendMail import ( "fmt" "net/smtp" "strings" ) type senderInfo stru...
在MySQL 5.7.7版本中,才将xa的bug修复,符合Open Group 的<<Distributed Transaction Processing:T...
目录 前置要求 使用方式 使用funcs查找支持的函数 使用break(b)打断点 使用breakpoints查看当前活动的断点。...使用clear清除断点 使用goroutines查看所有协程 使用stack(bt)查看goroutine的栈信息 使用attach连接到正在运行的进程 goland远程调试 前置要求 dlv调试要求可执行文件不能删掉调试信息.../app 使用方式 使用funcs查找支持的函数 使用funcs可以打印可以查看调试的函数。...frame可以设置当前栈位置,使用up可以向上移动栈,使用down可以向下移动栈 使用attach连接到正在运行的进程 使用attach 可以连接到正在运行的进程 使用locals打印当前的局部遍历,.../demo.exe 在golang的代码中打上断点,并启动debug该程序即可,需要确保两端的代码是一致的。 参考
从文件中获取注释信息 package main import ( "go/ast" "go/parser" "go/token" "log" "p...
trace vs pprof go tool trace 和go tool pprof 两个工具的使用方法类似,但是两者的原理和侧重点不同: 1,go tool trace 更侧重于记录分析采样时间内运行时系统具体干了什么...原理是监听golang 调度器的事件,记录操作耗时等相关信息。Tracer为每个event打的时间戳都精确到纳秒(nanosecond)级精度。性能损耗大。...在Go运行时内部,CPU分析使用操作系统计时器来定期(每秒约100次,即10ms一次)中断执行。在每个中断(也称为样本)上,它同时收集当时的调用堆栈。...使用也非常简单 labels := pprof.Labels("worker", "purge") pprof.Do(ctx, labels, func(ctx context.Context) {...这是一个比Do更低级的API,在可能的情况下应该使用Do。
1.sort包简介 Golang 中的标准库 sort 包为切片及用户定义的集合的排序操作提供了原语。...如果想实现稳定排序,使用 sort.Stable(),排序结果如下: [{John 42 false} {Dable 42 false} {Michael 17 false} {Jenny 42 false