前言
这只是作者的一个小想法,临时花了2小时现学现用写出来的,抛砖引玉,不喜勿喷。
痛点
每次开发前写文档都是一件很蛋疼的事情,创建好了数据库,由于数据表的字段名是下划线分割的,但是前后端传输需要的是驼峰转换的,手动转,我又懒,之前写过一个直接把数据库的表转换成飞书的表格,但是还是不够灵活,这次针对这个小需求写了一个桌面的小程序。
需求是很简单,主要太久没有写过GUI了,之前大学时候一直用的python写gui,平时java用的多,go 太久不接触都忘光了,现学现用了。
获取
编译后的程序可以关注微信公众号:小生听雨园 回复camel获取
代码
package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
"github.com/atotto/clipboard"
"github.com/flopp/go-findfont"
"os"
"regexp"
"strings"
"time"
)
var (
shouldListenClipboard bool // 新增标志来表示是否要监听剪贴板
)
func init() {
//设置中文字体
fontPaths := findfont.List()
for _, path := range fontPaths {
if strings.Contains(path, "msyh.ttf") || strings.Contains(path, "simhei.ttf") || strings.Contains(path, "simsun.ttc") || strings.Contains(path, "simkai.ttf") {
os.Setenv("FYNE_FONT", path)
break
}
}
}
func isEnglishOrUnderscore(text string) bool {
// 判断字符串是否是英文或下划线连接
matched, _ := regexp.MatchString("^[A-Za-z_]+$", text)
return matched
}
func toCamelCase(text string) string {
// 将下划线连接的字符串转换为驼峰命名
parts := strings.Split(text, "_")
camelCase := parts[0]
for i := 1; i < len(parts); i++ {
camelCase += strings.Title(parts[i])
}
return camelCase
}
参考文献
fyne package -os windows -icon main.ico