首页 > 其他分享 >驼峰转下划线 golang

驼峰转下划线 golang

时间:2022-11-18 11:33:23浏览次数:46  
标签:下划线 驼峰 ReplaceAllString MustCompile golang snake str var regexp

package main
import (     "fmt"     "regexp"     "strings" )
var matchNonAlphaNumeric = regexp.MustCompile(`[^a-zA-Z0-9]+`) var matchFirstCap = regexp.MustCompile("(.)([A-Z][a-z]+)") var matchAllCap = regexp.MustCompile("([a-z0-9])([A-Z])")
func ToSnakeCase(str string) string {     str = matchNonAlphaNumeric.ReplaceAllString(str, "_")     //非常规字符转化为 _     snake := matchFirstCap.ReplaceAllString(str, "${1}_${2}") //拆分出连续大写     snake = matchAllCap.ReplaceAllString(snake, "${1}_${2}")  //拆分单词     return strings.ToLower(snake)                             //全部转小写 }
func main() {     fmt.Println(ToSnakeCase("IamXXX")) }

标签:下划线,驼峰,ReplaceAllString,MustCompile,golang,snake,str,var,regexp
From: https://www.cnblogs.com/Ziee/p/16902672.html

相关文章

  • ubuntu中——02.kdevelop中的eigen下划线红色
    情况:安装好了eigen,但是在kdevelop中打开一个.cpp的文件,#include<Eigen/Dense>的下划线是红色的,代表没有链接   解决方法:出现这个错误的原因是eigen默认安装在/......
  • golang - win10 打包exe在linux运行
    1.打包步骤需要设置go打包配置为linuxSETGOOS=linuxSETGOARCH=amd64  然后cd 进入main.go文件目录执行打包指令gobuildmain.go  会出现一个没有后......
  • golang 进度条
    packagemainimport( "fmt" "strings" "time")funcmain(){ str:="#" str=strings.Repeat(str,50) i:=0 fori<=100{ s:=str[:i/2] s1:=......
  • golang - 1.19版本 recover 的使用
    panic的使用参考我这个随笔https://www.cnblogs.com/c2g5201314/p/16894630.html如果需要当前函数中断,父级调用的函数不断,可使用recover在1.19版本开始需要这样写......
  • golang - 1.19版本 panic 的使用
    自动1.18开始引入any类型可以替代空接口interface{}, panic的参数就变为了any因此1.19版本不可直接使用panic(【提示内容】)会报错正确写法为variany="异常......
  • golang发送HTTP请求时获取目标IP (server ip)
    golangnet/http库在发送http请求时会通过调用net下的Dialer建立TCP连接,net.Dialer会在发起连接前执行通过ControlContext字段传入的一个函数,我们可以通过这个函数获取i......
  • 5.golang变量的数据类型
    1.基本数据类型数值型 a.整数类型              A.各整数类型分“有符号和无符号,intun......
  • Golang写时复制是否是原子性的?
    建议先阅读下Go汇编语言的入门教程​​​https://go.dev/doc/asm​​先说一下我这边的一个简化场景吧,有一个定时任务定时从数据库获取数据,也就是对应实例代码中的getNewPro......
  • golang ratelimit限流实现
    网上找到的案例,记录一下route/init方法中:varuriLimiters=middleware.NewUriLimiter()appGroup:=g.Group("",middleware.RateLimiter(uriLimiters))//限流funcRa......
  • golang redis队列实现
    记录一下packageredisimport("bytes""encoding/json""errors")typeJobstruct{JobIdstring`json:"job_id"`Uiduint64`json:"uid"`......