golang里如何高效的拼接字符串
Golang里字符串修改操作都会创建一个新的字符串进行拷贝赋值,拼接多次应使用strings.Builder,减少内存拷贝次数,参考代码:var str strings.Builderfor i := 0; i <&nb
日期 2020-05-23 阅 1987 微笔记strings.Buildergolang字符串拼接高效拼接字符串golang里strcut存为toml文件的方法
背景之前有介绍过在golang里如何读取toml文件文件,最近有个同学问我如何将struct存为toml文件,不过之前确实没这么操作过,所以就看了下toml的库的代码才找到方法。我采用的toml解析库为:github.com/BurntSushi/toml,在encode.go文件里的关键说明如下:
日期 2020-05-05 阅 3899golang里sync.Map包的使用方法
sync.Map简介在Go语言里内置的常规map是只支持并发读,但不支持并发写操作的,常见的错误信息:fatalerror:concurrentmapwrites.但在golang里已经提供了封装好的线程安全map的包sync.Map,可以看看sync.Map的定义:// Map
日期 2020-05-05 阅 4822 sync.Map包的用法sync.Map长度的获取golang里实现获取当前git仓库、分支的方法
需要写一个获取当前git仓库的地址和分支的方法,这里想到的最快的方法就是通过命令行的形式,关键代码如下:package gitimport ("fmt""os/exec""strings")
日期 2020-04-12 阅 5810 golang获取git仓库分支golang调用命令行gin框架的http接口支持跨域请求的方法
gin框架写的http接口支持跨域请求的方法很简单,实现一个支持跨域的中间件接口就行,关键代码如下:package mainimport ("net/http""github.com/gin-gonic/gin"
日期 2020-04-06 阅 5761golang里捕获进程信号实现优雅退出的方法
程序优雅退出可以更好的释放资源,或者打印一些重要的日志信息,在golang里可以实现捕获处理Signal信号来实现进程的优雅退出。POSIX中定义的信号POSIX.1-1990标准中定义的信号列表如下:信号值动作说明SIGHUP1Term终端控制进程结束(终端连接断开)SIGINT2Term用户发送
日期 2018-07-21 阅 9865 golang捕获进程信号signal.Notifyos/signal包POSIXGolang里解析TOML配置文件的方法
TOML简介TOML的全称是Tom’sObvious,MinimalLanguage,因为它的作者是GitHub联合创始人TomPreston-Werner。TOML的目标是成为一个有明显语义而容易去阅读的最小化配置文件格式。TOML被设计成可以无歧义地被映射为哈希表,从而很容易的被解
日期 2018-07-05 阅 10340 TOML配置文件Golang解析TOML文件TOML文件解析TOML文件Debian9下安装配置NFS服务器的方法
NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。简单的来说:它就是是可以透过网络,让
日期 2018-06-04 阅 10661 nfs服务器搭建nfs服务器配置nfs目录挂载开机自动挂载nfsshowmountGolang里结构体struct和json互相转换的方法
Golang里对于结构体和json之间转换特别方便,使用内置的包 “encoding/json”,简单的几行代码就可以做到。按照一个大括号里的定义就是一个结构体的规则来处理的,对于结构体定义和json里的字段名不一致的可以采用`json:"json字段名"`这种方式来
日期 2018-06-03 阅 10248 struct转jsonjson转structjson.Marshaljson.Unmarshal部署基于AWS S3协议的云存储服务Minio
前言Minio是一个开源的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。采用golang实现,可以工作在Windows,Linux,OSX和FreeBSD上。官方网站:https://www.minio.io/, 今天这里就简单分享一下在macOS下安装mini
日期 2018-06-01 阅 12335 minio安装minio部署minio启动minio下载minio API接口S3协议s3 buckets记录学习Python里文本文件读写操作的方法
读写文本文件是工作中经常会遇到的一种需求,今天这里记录一下学习Python里读写文本文件的方法。open方法Python里打开和创建文本文件都是通过open方法来操作的,例如:f = open('test.txt')print(f.read())f.clo
日期 2018-05-29 阅 1751 Python读写文本文件Python里实现发送邮件的方法
编程过程中经常会遇到有要发送邮件的情况,本文主要是介绍了一下在Python里实现发送邮件的方法,当然是借助了第三方的smtp服务器来实现的,这里我采用的是腾讯的smtp服务器,发送邮件的关键代码为:import smtplibfrom email.mime.text 
日期 2018-05-29 阅 1715 Python发送邮件记录学习Python里文本文件读写操作的方法
读写文本文件是工作中经常会遇到的一种需求,今天这里记录一下学习Python里读写文本文件的方法。open方法Python里打开和创建文本文件都是通过open方法来操作的,例如:f = open('test.txt')print(f.read())f.clo
日期 2018-04-17 阅 4043 Python读写文本文件Python下使用ctypes调用DLL的方法简单总结
以前一直是做的Windows下的编程,经常要与动态链接库DLL打交道,现在开始玩Python了,总想着尝试玩下混合编程,而且Python的很多底层库也是基于C++实现的,所以就尝试了下使用ctypes来调用DLL的方法,今天把这些尝试简单总结下记录下来!本文
日期 2018-03-30 阅 11003 ctypesPython调用DLLDLL回调函数CFUNCTYPEPython下使用ctypes调用DLL的方法简单总结
以前一直是做的Windows下的编程,经常要与动态链接库DLL打交道,现在开始玩Python了,总想着尝试玩下混合编程,而且Python的很多底层库也是基于C++实现的,所以就尝试了下使用ctypes来调用DLL的方法,今天把这些尝试简单总结下记录下来!本文里的Python版本为:Python3.
日期 2018-03-29 阅 1816 ctypesPython调用DLLDLL回调函数CFUNCTYPE