Golang使用embed内嵌资源文件
最近闲的没事干在捣鼓 fyne,想用Golang去写桌面程序(图一乐),因为要解决 fyne的中文乱码问题,需要将字体文件打包时内嵌到程序中,捣鼓了半天没搞定,突然发现了Golang的新特性,就用了一下,还挺有意思的,所以就顺便记录一下。当然,他不仅限于这种需求,比如在部署后端Web的时候,需要的一些静态资源,比如一些模板、css、js、图片等文件,也可以通过这样的方式打包到一个二进制文件中...
最近闲的没事干在捣鼓 fyne,想用Golang去写桌面程序(图一乐),因为要解决 fyne的中文乱码问题,需要将字体文件打包时内嵌到程序中,捣鼓了半天没搞定,突然发现了Golang的新特性,就用了一下,还挺有意思的,所以就顺便记录一下。当然,他不仅限于这种需求,比如在部署后端Web的时候,需要的一些静态资源,比如一些模板、css、js、图片等文件,也可以通过这样的方式打包到一个二进制文件中...
map是线程不安全的最近发现了一个坑,原来Golang里面的map是线程不安全的,也就是说,如下代码,会出现问题:package main import ( "fmt" "time" ) func main() { m := make(map[string]string) go func() { fo...
单例模式单例模式,算是最常见的设计模式了吧,他很简单,就是确保一个类只有一个实例。常用于保存一些全局状态信息。下面是来自wikipedia的描述:单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存...
Qmgo由于 mgo这个库已经停止维护多年了,对新的特性支持较少,而 MongoDB driver又不怎么好用,所以我发现了七牛云开源的 Qmgo。Qmgo 是一款 Go语言的 MongoDB driver,它基于MongoDB 官方 driver 开发实现,同时使用更易用的接口设计,比如参考mgo (比如 mgo的链式调用)。Qmgo让您以更优雅的姿势使用MongoDB的新特性。Qmgo是...
废话不多说直接上代码:package utils import ( "bytes" "crypto/rand" "math/big" ) func CreateRandomString(len int) string { var container string var str = &qu...