摘要:
#一、默认版log库 1.配置日志输出文件 func SetupLogger() { logFileLocation, _ := os.OpenFile("/Users/q1mi/test.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0744) log.SetO 阅读全文
摘要:
##一.pprof Profiling 是指在程序执行过程中,收集能够反映程序执行状态的数据。在软件工程中,性能分析(performance analysis,也称为 profiling),是以收集程序运行时信息为手段研究程序行为的分析方法,是一种动态程序分析的方法。 GO中自带两个库可以进行程序分 阅读全文
摘要:
#案例分析 package main import ( "math" "sync" "time" ) func doAllocate(nKB int, wg *sync.WaitGroup) { var slice []byte for i := 0; i < nKB; i++ { t := mak 阅读全文
摘要:
sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。 本包的类型的值不应被拷贝。 #1.type Locker interface type Locker interface { Lock() / 阅读全文
摘要:
注意 1.ENV GO111MODULE on 若是mod管理依赖包,必须开启mod 2.ENV CGO_ENABLED 0 必须配置为0,否则docker容器中编译失败 3.COPY 文件至容器时,保证文件拷贝至容器/go/src/ 环境下; 曾配置COPY . /apps 但是创建运行容器时,没 阅读全文
摘要:
#1.什么是Context Context通常被译作上下文,它是一个比较抽象的概念。在公司技术讨论时也经常会提到上下文。一般理解为程序单元的一个运行状态、现场、快照,而翻译中上下又很好地诠释了其本质,上下上下则是存在上下层的传递,上会把内容传递给下。在Go语言中,程序单元也就指的是Goroutine 阅读全文
摘要:
1.RMQ的安装 docker run -d --hostname my-rabbit --name rmq -p 15672:15672 -p 5672:5672 -p 25672:25672 -e RABBITMQ_DEFAULT_USER=用户名 -e RABBITMQ_DEFAULT_PAS 阅读全文
摘要:
#一、Dockerfile Dockerfile是一个Docker镜像的描述文件,我们可以理解为创建容器的A、B、C、D…的步骤 Dockerfile的示例如下所示: FROM centos #from 选择镜像 MAINTAINER The CentOS Project <303323496@qq 阅读全文
摘要:
一、mysql 操作 sql.DB 通过数据库驱动,提供管理底层数据库连接的打开和关闭操作. sql.DB 为我们管理数据库连接池 需要注意的是,sql.DB表示操作数据库的抽象访问接口, 而非一个数据库连接对象;它可以根据driver打开关闭数据库连接,管理连接池。 正在使用的连接被标记为繁忙,用 阅读全文
摘要:
#go普通指针、unsafe.Poniter、unintptr之间的联系 ##GO指针 . 普通指针 *type 普通指针,用于传递对象地址,不能进行指针运算 . unsafe.Poniter 通用型指针,用于不同类型指针的转换,不能进行指针运算,不能读取内存存储的值 . unintptr 可进行指 阅读全文