Golang
文章平均质量分 84
Tian翊
这个作者很懒,什么都没留下…
展开
-
go-colly官方文档翻译(持续翻译中)
介绍如何安装煤灰只有一个前提,那就是Golang编程语言。 你可以使用他们的安装指南 https://golang.org/doc/install在终端输入以下命令安装煤灰和回车。go get -u github.com/gocolly/colly/...入门在使用Colly之前,请确保您具有最新版本。有关更多详细信息,请参见让我们从一些简单的例子开始。首先,您需要将Colly导入您的代码库:import "github.com/gocolly/colly"收集器煤灰的主要实体是一原创 2021-05-28 14:02:04 · 1354 阅读 · 0 评论 -
Mysql根据内容查找在哪个表(Go版本)
Mysql根据内容查找在哪个表(Go版本)前言哈喽,大家好,我是星期八。事情是这样婶的。上次我们通过Python语言完成了Mysql根据内容查找在哪个表这个需求。传送门:Mysql根据内容查找在哪个表(python版本)但是都知道啊。Python是不太方便打包的。虽然可以。但是毕竟不是那么方便。所以,思来想去,决定使用Go语言重构这个需求,并且打包成win64和win32的exe!项目说明本项目已经上传gitee地址:mysql_for_table下载下来可以发现是有mysql根据内原创 2021-01-26 22:15:35 · 831 阅读 · 1 评论 -
Go sql查询直接转map
Go sql查询直接转map前言Hello,大家好,我是星期八!事情是这样婶的。曾经我是哪么终于Python,爱的死去活来,直到,我遇到了Go!我就对他一见钟情,简洁的语法,随意的打包exe,完美戳中我的心灵!然后,我____完整示例代码请直接滑到最底部在使用Go时,发现的一些问题其实,Go已经是一门,非常方便的静态编译语言了,跟Java相比,已经是非常幸福了!反复鞭尸Java,hhh。Python是如何查询Mysql先看一下老情人Python是如何查询Mysql的!代码impo原创 2021-01-26 21:15:54 · 1450 阅读 · 5 评论 -
Go增强版操作Mysql(Sqlx)
Go增强版操作Mysql(Sqlx)前言Hey,大家好,我是码农,星期八!,上次咱们学习了如何使用Go操作Mysql,并且实现了简单的增删改查。但是相对来说,还有有点复杂的,可能那些大佬也都觉得繁琐叭。就又开发出了增强版查询Mysql操作库Sqlx。mod文件go.modmodule sqlxDemogo 1.14require ( github.com/go-sql-driver/mysql v1.4.0 github.com/jmoiron/sqlx v1.2.0 googl原创 2021-01-19 08:05:03 · 149 阅读 · 0 评论 -
Go操作Mysql
Go操作Mysql前言Hey,大家好呀,我是码农星期八,通常情况下,我们程序员和数据库打交道是最多的。要然我们怎么会被称为码农呢。存用户信息需要数据库,存订单需要数据库,等等等等,现在真是数据驱动着发展。但是数据库种类有很多,有Mysql,Oracle,SQL Server。本篇就示例如何Go操作Mysql。准备工作本次使用的是go mod进行包依赖管理,还不会使用的向上爬梯子,找go mod用法。使用的库是第三方库go-sql-driver/mysql。准备工作之连接数据库代码fu原创 2021-01-19 08:02:25 · 325 阅读 · 0 评论 -
关于位的问题
关于位的问题前言Hey,大家好呀,我是码农,星期八!最近在学习关于逆向的一些玩意,发现逆向不得不说都是些玩底层的玩意。在学习的过程中,发现了一个其实在正向开发中也用的很多的底层知识点,就是位和字节。比如一个数字a究竟是怎么存在内存中的。一段代码本次就以Go语言举例,Go语言是类C语言,一些底层还是很相近的!代码package mainimport ( "fmt" "unsafe")func main() { //定义一个 字符a var a = 'a' //定义一个 正原创 2021-01-18 15:27:36 · 438 阅读 · 0 评论 -
Go语言flag包使用
Go语言flag包使用前言Hey,大家好,我是码农,星期八,这次来讲一下的Go语言中,比较常用的一个包flag包。这个包的用途是接收命令行参数的。如果你玩过Mysql,肯定对这个界面很熟悉对的,就是干这个用的,接收命令行参数注意这一章所学的任何代码,都要编译成.exe才能跑,禁止右击 run!!os.Args其实Go的os模块,也带有这个功能,但是这个功能有点欠缺。不能接收像-u root -p 3306这样指定key的值。只能接收像root 3306这样的方式。简单了解一下吧。原创 2021-01-18 15:24:08 · 469 阅读 · 0 评论 -
Go语言只time包
Go语言只time包前言Hey,大家好呀,我是码农星期八!一寸光阴一寸金,时间难买寸光阴,时间,是个多么重要的东西。同样,在我们的编程中,时间也依然占据着很大的一部分。就像淘宝,客户下单需要记录时间,发货了需要记录时间,保质期多久需要推算时间,等等等等。那我们一起来看看Go中是如何操作时间叭!time.Now()time.Now()返回的是一个Time类型。相关代码如下func main() { var nowTime = time.Now() fmt.Println(nowTime原创 2021-01-18 15:19:31 · 120 阅读 · 0 评论 -
Go语言之strconv包
Go语言之strconv包前言Hey,大家好,我是码农,星期八,这次咱们来学一下Go语言的一个类型转换工具包strconv。不知道你有没有想过。在Go中,字符串100如何转成数字100。这样?func main() { var score = "100" i := int(score) fmt.Printf(i)}No,No,No,看一下执行结果。报错啦,说明并不是这么简单粗暴转换的!!!string转int(用Atoi)代码func main() { //string原创 2021-01-18 13:41:51 · 1488 阅读 · 0 评论 -
Go语言基础之文件操作
Go语言基础之文件操作前言Hey,大家好呀,我是码农,星期八,这次咱们来说一下文件操作。文件操作就简单了,像打开word了,excel了,都是文件操作,当然,我们肯定是不能直接操作word的我们就从最简单的普通文件开始叭!打开和关闭文件package mainimport "os"func main() { //os.Open是只读模式 fileObj, err := os.Open("永不退缩.txt") if err != nil { panic(err) } //关闭原创 2021-01-18 11:07:56 · 135 阅读 · 0 评论 -
Go语言基础之网络编程
Go语言基础之网络编程前言Hi,大家好呀,我是码农,星期八,我们身处21世纪,我们的世界已经在不知不觉中,就像很多网一样在互联互通。互联网是一个统称,目前比较常用的有TCP,UDP协议。当然,还有很多其他的协议,但是本次主要讲最常用的TCP和UDP协议。socket编程我们所学的TCP和UDP,统称为socket编程,也叫做套接字编程。多台机器要实现互相通讯,其实是一个非常复杂的过程,底层从铺设网线,网线接口,交换机,路由器,在到规定各种协议。再到应用层QQ,微信等软件。如果没有一套标准,原创 2021-01-18 10:58:50 · 197 阅读 · 0 评论 -
Go语言基础之并发(channel)
Go语言基础之并发(channel)前言Hi,大家好,我是码农,星期八,本篇继续带来Go语言并发基础,channel如何使用。看看Go协程如何配合channel。快来上车叭。为什么需要channelchannel在Go中,也叫做管道,是用来多线程之间共享数据的。通常情况下,在Go中共享数据用的也是channel,但是在Go有两种共享数据方式。共享内存实现通讯。通过管道(channel)通讯(推荐)。为啥子共享内存通讯不太推荐?示例代码:多线程修改一个值。函数func Calc(原创 2021-01-18 10:51:14 · 207 阅读 · 0 评论 -
Go语言基础之并发
Go语言基础之并发前言Hey,大家好,我是码农星期八,终于到了Go中最牛掰的地方,并发,这也是Go为什么能快速火的原因。部署方便,不需要容器,随便跑一个都是相当于Nginx的存在,怎么肯能不火所以,来看看扒!!!引言Go语言,专门为并发而生的语言,每启动一个微线程创建一个代价大概2KB起步假设一个内存条大小4G,一个微线程2kb,1G=1024M=1048576kb,1048576/2=524288,五十多万个但是你知道像Java,Python等语言,一个线程代价多大吗???,2MB起步,代原创 2021-01-18 10:44:48 · 103 阅读 · 0 评论 -
Go语言基础之结构体反射
Go语言基础之结构体反射前言Hey,大家好呀,我是码农,星期八。反射在结构体中的应用,才是最广泛的!毕竟在Go中,是用结构体代替对象的!所以最多的,最麻烦的,也是反射结构体,也是最灵活的!反射在结构体的应用上次讲的,只是在普通变量中的应用,相对来说,使用的场景不是太多。但是反射在结构体中的应用,基本会贯穿整个Go语言基础。示例代码结构体type Student struct { Name string `json:"name" describe:"姓名"` Age in原创 2021-01-18 10:40:10 · 1389 阅读 · 0 评论 -
Go语言基础之反射
Go语言基础之反射前言Hey,大家好呀,我是码农,星期八!,我们以前学的呀,都属于正向定义变量,正向开发!但是有没有什么办法能反着来呢?根据变量获取类型等操作。一起来看看Go的反射吧!!!什么是反射反射,嗯…,就是反着的意思呗,就是把东西反过来。比如这样的一个很简单的代码。var a int = 3fmt.Println(a)我们当然知道a变量是int类型,但是反过来想,程序是怎么知道a是int类型呢???这时候,就需要用到反射了。示例代码v := reflect.TypeOf(原创 2021-01-18 10:37:05 · 115 阅读 · 0 评论 -
Go语言基础之接口
Go语言基础之接口前言Hey,大家好呀,我是码农,星期八,之前怎么学到过面向对象的相关知识,但是还差一点,差了个接口。并且接口在代码中用的还是比较多的,一起来看看吧!什么是接口(interface)这里的接口,可不是说那种插槽的那种接口,互相怼到一块就完事了。在各种语言中,提到接口,通常指的之一种规范,然后具体对象来实现这个规范的细节。本文使用的接口主要是约束接口,还有一种存储接口。注: 在Go中,接口(interface)是一种类型,一种抽象类型,它只有方法,没有属性。为什么需要接口原创 2021-01-14 13:52:46 · 165 阅读 · 0 评论 -
Go语言基础之包
Go语言基础之包前言Hey,大家好呀,我是星期八,咱们原来写的代码,都是缩在一块的,久而久之咱们可能都能感觉到冗余。所以今天就来学一下包这个东西,将咱们的代码拆分一下。包包可以理解为存放多个.go的文件夹但是这个文件夹下面的第一行的package后面跟的不再是main了而是文件名就像这样。目录clac和main.go文件是同级的。可以看到clac文件夹下的add.go第一行不再是main而是文件夹名 clac同理sub.go第一行也是。这个只是单独的解释包的定义方式没有实际意义。包的原创 2021-01-14 13:42:36 · 124 阅读 · 0 评论 -
Go语言基础之结构体
Go语言基础之结构体前言Hey,大家好呀,我是星期八,终于迎来了Go中最大一个知识点,结构体。在Go,是没有类和对象这个概念的。是通过结构体的各种操作,模拟出来的像Java,Python之类的面向对象的。回忆map之前我们讲过,Go语言的map是键值对的方式存储数据的,就像这样的。//方式一var student = map[string]string{ "Name": "张三", "Age": "18",}//方式二var student2 = make(map[s原创 2021-01-14 13:38:55 · 518 阅读 · 1 评论 -
Go语言基础之指针
Go语言基础之指针前言Hey,大家好呀,我是星期八作为21世纪的C语言,Go可能多方面思考,最终还是保留了指针但是要比C语言指针简单很多,一起来看看叭引言因为Go语言是类C语言,所以为了提高效率,仍然保留了指针。但是如果没有接触过指针,可能学起来指针需要多多思考一下了。指针通常情况下,也被称为小白劝退神奇。基本类型指针的理解先看这两行代码。var n1 int = 666fmt.Println(n1)//结果:666fmt.Printf("%p\n",n1)//结果:%!p(int原创 2021-01-14 13:30:29 · 163 阅读 · 0 评论 -
Go语言基础之函数
Go语言基础之函数前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之函数叭。为什么需要函数函数,在所有编程语言中都叫函数,Java,PHP,Python,JS等,统一都叫函数。函数的作用一般是这样形容的:函数可以将重复的,或者特定功能的,封装成一个方便调用的东西。注:在Go中,函数是支持闭包的。在没有使用函数时代码package mainimport "fmt"func main() { //模拟一个打开文件,写入一行内容进入文件,在关闭文件的功能 var file原创 2021-01-14 11:34:37 · 213 阅读 · 0 评论 -
Go语言基础之map
Go语言基础之map前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之map扒。回忆往事在上述的多个文章中,我们学习了数据类型,数组,切片等帮助我们存储数据。尤其是是切片,可以存储多个东西,并且可以灵活的增删改查。但是切片仍然有不太方便的地方。比如学生,一个学生的信息是多个的,例如姓名,身高,体重,年龄等。如果使用切片,我们可能是这样存储的。package mainimport "fmt"func main() { //学生1 var stu1 = []string{原创 2021-01-14 11:27:59 · 155 阅读 · 0 评论 -
Go基础之运算符和流程控制
Go基础之运算符和流程控制前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之运算符和流程控制叭。运算符运算符这个名字听着玄乎,其实我们平常见的很多了,就像=,+,/之类的。运算符主要分为算数运算符关系运算符逻辑运算符位运算符赋值运算符下面就来简单了解以下叭。算数运算符算数运算符顾名思义,主要用在算数中,加减乘除了啥的简单了解以下叭。运算符描述+相加-相减*相乘/相除%求余++自加–自减关系原创 2021-01-14 11:21:31 · 86 阅读 · 0 评论 -
Go语言基础之数组
Go语言基础之数组前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之数组扒。什么是数组我的总结一个变量,指向一块连续的,具有长度的,并且是相同类型的一块内存。如何定义数组var 变量名 [元素个数]元素类型示例:package mainfunc main() { //声明一个name_list数组,长度为100,里面只能放字符串 var name_list [100]string}注:var 变量名 [元素个数]元素类型 等同于 var 变量名 变量类型所以原创 2021-01-14 11:18:54 · 211 阅读 · 0 评论 -
Go语言基础之切片
Go语言基础之切片前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之切片扒。为什么需要切片在原来的时候,我们学过数组,我们知道数组是可以存储很多东西的。代码package mainimport "fmt"func main() { var student_list = [4]string{"张三", "李四", "王五,", "小刘"} fmt.Println(student_list)}上述代码定义了一个数组,并且存了4个值,但是如果存5个值或者更多呢。packa原创 2021-01-14 11:22:26 · 166 阅读 · 1 评论 -
Go语言基础之变量
Go语言基础之变量前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之变量叭。变量为什么需要变量简单点说,我们写的程序默认数据都是保存在内存条中的,我们不可能直接通过地址找到这个变量,因为地址太长了,而且不容易记。通常我们是通过变量名找到对应的地址上面的值,再进行一系列操作。变量类型现在不管是什么语言,常用的变量分为以下类型。整数,1,6,2,8,4...浮点数,1.1,5.7767,23.99...布尔型,真,假字符串类型,"张三","李四"...ListMap原创 2021-01-14 11:13:37 · 838 阅读 · 0 评论 -
go modules使用
go modules使用前言go moudules是Go的一个包管理工具,官方提供的,还是比较靠谱的,最低Go版本要求1.11+。可以理解为Python的虚拟环境,或者Java的maven,PHP的composer。其本质解决的问题就是包管理混乱问题。反正就是,用就完事了,只有好事,没有坏事。配置(不用管)GO111MODULE=off # 不适用modules功能GO111MODULE=off #使用molules功能,不会去GOPATH下找依赖包, 1.11+版本默认开启GO111MO原创 2020-12-24 12:49:46 · 371 阅读 · 0 评论 -
关于位的问题
关于位的问题前言Hey,大家好呀,我是码农,星期八!最近在学习关于逆向的一些玩意,发现逆向不得不说都是些玩底层的玩意。在学习的过程中,发现了一个其实在正向开发中也用的很多的底层知识点,就是位和字节。比如一个数字a究竟是怎么存在内存中的。一段代码本次就以Go语言举例,Go语言是类C语言,一些底层还是很相近的!代码package mainimport ( "fmt" "unsafe")func main() { //定义一个 字符a var a = 'a' //定义一个 正原创 2020-12-24 09:48:59 · 129 阅读 · 0 评论 -
Go开发目录生成器
Go开发目录生成器前言Hey,大家好呀,我是码农,星期八。有时候,我看着我的目录,或者我想找个文件时,尤其是目录很多时,总是有点难受。比如这个目录,是我的一个教程目录。但是我并不能一目了然的知道每个文件夹下都有啥,并且每次找一个文件也很费事。所以,基于上述的需求,使用Go语言,终于撸了个目录生成器,感觉还行。实现的效果通过编写的脚本,可以将目录整合成.txt文件,并且下级目录使用4个空格缩进。代码先别管怎么实现的,先看代码。package mainimport ( "byte原创 2020-12-24 09:38:28 · 231 阅读 · 1 评论