https://s2.ax1x.com/2019/08/05/egNJkd.jpg

Linux常用命令

zip命令 使用unzip的时候有时候想把文件解压到一个新的文件夹,如果直接写一个新目录会报错 在要解压的目的地的前面加个参数-d,就能新建一个

golang ldfalgs的小技巧

问题

如果想要在go build生成的可执行文件中注入编译时间,git hash等信息。可以在编译的时候使用-ldflags -X参数来注入变量

-ldfflags -X 可以在go install 、go build、go run 、go test中使用

go build -ldflags “-X ' packageName.varName=cmd ' “

Receiver has generic name

问题

Golang的方法接收者就是在函数名前的括号内的东西 如

1
func (self Car) run() // (self car)就是方法接收者

在JetBrains系类的开发工具中(IntelliJ、Goland)如果方法接收者名字是self me this类似的词,IDE会提示Receiver has generic name信息 如下图所示

https://s2.ax1x.com/2019/08/26/mW6QpQ.png

Systemd集成Golang程序

当想要在服务器上部署一个常驻程序时,不想让程序随着Terminal的退出而中止,你可以使用docker nohup supervisor 这些工具来实现。但是处于想学习Linux中Systemd的目的,我使用Systemd来实现把一个Golang程序作为一个系统服务

MySql索引优化

MySql索引优化 语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 create table user_info ( id int AUTO_INCREMENT, name varchar(20), age int(3), email varchar(256), PRIMARY KEY (id) ); create index idx_user_nameAgeEmail on user_info (name,age,email); create table t ( a varchar(20), b int(3), c varchar(20) ); create index idx_a_b_c on t