Go语言
文章平均质量分 93
golang技术栈
先生大才
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
展开
-
Glang单元测试与基准测试
一. 测试概要1.1 测试分类Go语言的测试文件须以_test.go结尾,包含示例函数、单元测试函数、基准测试函数和主测函数四种类型。类型格式作用示例函数ExampleFoo()提供示例文档测试函数TestFoo(t *testing.T)测试程序的一些逻辑行为是否正确基准函数BenchmarkFoo(b *testing.B)测试函数的性能主测函数TestMain(m *testing.M)引导一个单元测试1.2 测试命令命令格式:g原创 2022-01-28 01:47:06 · 633 阅读 · 0 评论 -
Golang toml完全解析示例
配置管理基于TOML v0.4.0的配置管理Toml语法可查看Toml官方文档或中文文档。GO客户端:https://github.com/BurntSushi/toml,这里是官方使用示例。安装Go-toml# 安装toml-go客户端go get github.com/BurntSushi/toml# 验证toml语法go get github.com/BurntSushi/toml/cmd/tomlvtomlv some-toml-file.toml示例1example.原创 2020-05-13 11:43:17 · 7558 阅读 · 0 评论 -
logrus日志框架
文章目录logrus介绍logrus配置日志打印HOOK机制Gin日志Fatal处理线程安全logrus介绍golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数。对于更精细的日志级别、日志文件分割,以及日志分发等方面,并没有提供支持。在golang的世界,流行的日志框架包括logrus、zap、zerolog、seelog等。logrus配置1. 日...原创 2020-01-07 03:34:43 · 1505 阅读 · 0 评论 -
Go命令行程序
文章目录一. 终端IO二. Flag包一. 终端IO1. 命令行参数:func main() { all := os.Args // AppName + Args args := os.Args[1:] //Args fmt.Println(all) fmt.Println(args) os.Exit(1)}2. os.Stdin:os.S...原创 2019-12-28 21:47:43 · 439 阅读 · 0 评论 -
Go标准命令
Go标准命令原创 2019-09-28 23:39:59 · 233 阅读 · 0 评论 -
Go-经典编程题
题目:输入某年某月某日,判断这一天是这一年的第几天?分析:闰年:四年剔百年一润,或四百年一润func exam02(year, month, day int) { year, month, day = 2018, 3, 1 counts := []int{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} //平年 var sum = d...原创 2019-07-19 14:20:23 · 988 阅读 · 0 评论 -
Go-依赖管理
文章目录一. 发展历史二. Vendor机制三. GoMod机制四. GoMod示例一. 发展历史GOPATH时代:所有代码都放到GOPATH下,对于没有任何外部依赖管理Vendor时代:vendor目录下的包会被优先使用,但没有版本号等信息管理Module时代:通过go.mod配置文件,管理版本信息,依赖包目录等包管理趋势:支持锁定版本,支持server,本地多版本缓存(优化性能)...原创 2019-08-14 01:59:50 · 365 阅读 · 0 评论 -
Go调用Javascript
应用场景:最近搞一个爬PDD的玩意儿,但是人家前端有加密,js里面一大坨加密混淆的代码,怎么整?不管它三七二十八,把js加密代码整理出来,直接用Go调用它的加密生成算法,钥匙有了,接下去,想咋偷,就看你了先创建一个简单的js测试文件:test.jsfunction add(a,b) { return a+b}Go调用示例:package mainimport (...原创 2019-08-21 19:17:54 · 3989 阅读 · 0 评论 -
Go-配置文件
文章目录一. ini配置文件二. ymal配置文件三. json配置文件一. ini配置文件;INI文件由节、键、值组成。[mysql]host = 192.168.xxx.xxxport = 3306charset = "utf8"直接读取://go get github.com/Unknwon/goconfigfunc main() { cfg, err := go...原创 2019-08-10 16:30:29 · 585 阅读 · 0 评论 -
Go-x86守护进程
文章目录1. 测试代码2. 生成守护进程3. 批处理工具1. 测试代码func main() { logFile, _ := os.Create("test.log") defer logFile.Close() logger := log.New(logFile, "[Info]", log.Llongfile) for { logger.Println(time.Now()....原创 2019-08-10 16:24:19 · 121 阅读 · 0 评论 -
Go-插件编程
文章目录一. 什么是Plugin二. Plugin示例一. 什么是Plugingolang提供了一个plugin包,它能够让程序在运行时动态加载外部功能。type Plugin即Golang加载的插件,与之有关的两个方法:Open: 根据参数path提供的插件路径加载这个插件,并返回插件这个插件结构的指针*GluginLookup: *Plugin的惟一方法,通过名称symName在插...原创 2019-08-10 16:02:10 · 508 阅读 · 0 评论 -
基于抽象思维编程
文章目录抽象模型构造部件组装运行完整代码总结框架设计,无非就是解决软件的分工生产问题,跟模块化制造汽车一样的原理。我们把它分为三个步骤:设计汽车模型,这往往就是最难的环节,就是顶级设计师要做的事情。在软件里面就是架构师的任务。生产部件,就是分不同车间,按照模型生产发动机、车轮等。在软件中就是初级程序员每天要套架构和实现接口,完成的各个功能模块。组装出厂,这一工作由组装车间完成。程序中就是...原创 2019-08-10 14:57:33 · 622 阅读 · 0 评论 -
Go-异常重试
文章目录代码实现测试示例由网络、程序等引发的异常,正确的做法是让它重试几次 :代码实现package utilimport ( "github.com/lunny/log" "time")func Retry(attempts int, sleep time.Duration, fn func() error) error { if err := fn(); err != n...原创 2019-08-13 21:37:10 · 2360 阅读 · 0 评论 -
Go-Json编码解码
一. 类型映射golang和json的数据类型不一致,在编码或解码的过程中必然需要做类型映射。1.从golang到json:golangjsonboolBooleanint、float等数字NumberstringString[]byte(base64编码)StringstructObject,再递归打包array/slice...原创 2019-07-26 02:40:44 · 635 阅读 · 0 评论 -
Go-文本编码
文章目录编码转换(Transform)编码转换(Charset)编码猜测编码转换(Transform)Utf8是golang的原生编码方式,Utf8=>X为编码,X=>Utf8为解码。字节是数据的最小单元,数据转换和传输都以字节切片的形式进行。$ go get golang.org/x/textfunc GbkToUtf8(s []byte) ([]byte, erro...原创 2019-08-13 00:03:38 · 914 阅读 · 0 评论 -
Go结构化编程-流程控制
文章目录一. 结构化编程二. 顺序结构三 .条件结构四. 循环结构一. 结构化编程1. 什么是结构化编程结构化编程是以函数为单元,自上而下,按功能划分,强调某个功能的算法。结构化编程包括:顺序结构、条件结构和循环结构。2. 与面向对象的区别面向对象的基本思想是使用类, 对象, 继承, 封装, 消息等基本概念进行程序设计。类是对象的抽象, 对象是类的实例化,类的封装使得程序具有了...原创 2019-09-16 01:57:18 · 629 阅读 · 0 评论 -
经典基础编程练习题(Golang版)-3
文章目录1.递归求阶乘2.递归倒序3.求解方程4.求回文数5.判断星期6.寻找素数7.求解矩阵8.序列插队9.数组倒序10.打印圆形11.打印椭圆12.打印直线13.杨辉三角14.报数游戏15.求解方程16.统计字符1.递归求阶乘题目:利用递归方法求5!。#include "stdio.h"#include "conio.h"main(){ int i; int fact(...原创 2022-01-07 17:24:45 · 1278 阅读 · 0 评论 -
经典基础编程练习题(Golang版)-2
文章目录1.分解质因数2.求公约数3.统计字符4.数字累加5.查找完数6.猴子吃桃7.求解方程8.打印棱形9. 求解数列10.计算阶乘1.分解质因数题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。分析:1. 对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:2. 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。3. 如果n&l...原创 2022-01-07 17:25:08 · 554 阅读 · 0 评论 -
Docker部署Go应用
本文演示了如何创建一个精简的go应用,并以alpine镜像部署go应用程序原创 2019-09-09 13:01:49 · 231 阅读 · 0 评论 -
Go协程交替打印字符
文章目录半开空间封闭空间缓冲模式需求: 模拟两个协程,分别循环打印字母A和B。分析: 要实现两个协程之间的交替协作,就必须用到channel通信机制,而channel正好是同步阻塞的。半开空间首先我们用一个channel变量来控制两个goroutine的交替打印:func main() { exit := make(chan bool) ch1 := make(chan...原创 2019-08-13 16:18:15 · 2319 阅读 · 0 评论