GO入门
文章平均质量分 55
叨陪鲤
哈
展开
-
写个基于Trie的前缀匹配玩玩
【代码】写个基于Trie的前缀匹配玩玩。原创 2023-05-21 14:07:43 · 528 阅读 · 0 评论 -
Go 交叉编译x86, arm架构上的Linux可执行程序
1. Golang的交叉编译说明????????????golang中交叉编译非常简单。????????????直接在windows上设置几个Go环境变量便可以编译多种架构多个操作系统的可执行程序。https>go envset GO111MODULE=autoset GOARCH=amd64set GOBIN=set GOCACHE=C:\Users\Admin\AppData\Local\go-buildset GOENV=C:\Users\Admin\AppData\Roamin原创 2022-01-25 23:15:30 · 9513 阅读 · 9 评论 -
面向CSDN编程之:golang判断文件是否存在
golang判断文件是否存在1. 背景周末花了两天写了一个爬取、并解析HMDB数据库的工具。这个网站搜索功能特别难用:响应时间特别长,此外经常出现错误,搜索失败。因此为了尽可能多的下载只能多运行几遍程序,此时就要求:如果网页已经下载了,那么就无需再次下载。这个小小的需求应用而生,功能虽然很小很简单,但是为了对得其这个文章的标题:面向CSDN编程, 我还是果断的去csdn搜索了,然后再放上来,正所谓:从群众来,到群众去2. 实现func FileExist(path string) bool { _原创 2022-01-17 23:27:27 · 763 阅读 · 0 评论 -
面向CSDN编程之:golang逐行读取文件内容
golang逐行读取文件内容1. 背景周末花了两天写了一个爬取、并解析HMDB数据库的工具,为了能够根据下载定义HMDB-ID的数据信息,我特意将涉及到的HMDB-ID存储到一个list.txt文件中,然后逐行读取list.txt文件,将读取到的接口拼接完成的URL后进行访问、下载。 文件中可以根据需要放很多ID,几百上千条是没有问题的。2. 实现以下代码中创建了很多的gorouting, 通过chan来判断是否结束。不过今天看书,书上说推荐使用WaitGroup变量来解决这种问题。有时间再试试w原创 2022-01-17 23:18:46 · 1413 阅读 · 0 评论 -
HMDB网站 爬取工具
HDMB网站有一个特别不友好的地方是: 搜索相应太慢,成功率还低,这个简直太不爽了。不过白天体验明显好于晚上体验…原因自己品吧效果图工具使用部分效果根据HMDBID下载结果设置搜索条件搜索结果解析成Excel文件...原创 2022-01-17 22:25:30 · 1173 阅读 · 0 评论 -
面向CSDN编程之:golang读取json文件,并序列化为字符串
golang读取JSON文件1. 背景周末花了两天写了一个爬取、并解析HMDB数据库的工具,为了能够根据需要修改关键搜索参数,我使用了配置文件的方式进行配置。配置文件当时为了快速省事,直接采用了json文件。在程序启动时,读取配置文件中的参数,然后使用这部分参数从HMDB网站获取数据,也算是比较灵活方便了。2. 实现由于配置文件比较小,这里我直接读取了整个文件内容;然后将其解析成对应的结构体type ReqParam struct { SearchMode string `js原创 2022-01-17 21:59:24 · 1486 阅读 · 0 评论 -
面向CSDN编程之:go mod更新指定版本
兵在精而不在多更新某最新版本go get -u gorm.io/gorm更新指定tag版本v0.0.1go get gorm.io/gorm@v0.0.1更新某一分支最新版本go get gorm.io/gorm@branch1原创 2022-01-08 21:48:12 · 2752 阅读 · 0 评论 -
面向CSDN编程之:postgres数据库 模糊搜索功能
postgres进行模糊搜索时,搜索内容不能包含正则表达式相关的字符。例如:为了测试,数据库中有一个名字叫做:欧阳(娜娜)postgres=# SELECT name FROM "3年A班" WHERE id=2 and name ~ '(娜娜)'; ----------------------------------------------------欧阳(娜娜)(1 row)postgres=# SELECT name FROM "3年A班" WHERE.原创 2022-01-08 21:45:48 · 768 阅读 · 0 评论 -
面向CSDN编程之:“Gorm 0值无法更新问题” 解决办法
文章目录1. 场景:2. Gorm中更新操作说明1)更新全部字段: `save`2)更新单列字段:`update`3)更新多列字段:`updates`4)更新选定字段: `select`,`omit`3. 参考:1. 场景:在配置某一个参数时,假如该参数为bool类型。在从“ture"切换到”false"时发现数据库中没有更换过来删除一个策略的描述信息时,发现修改失败,描述依然存在这种情况基本上是由于一个原因导致的:Gorm使用Updates更新数据库操作时,只会更新非零字段。在Go中0值的原创 2022-01-08 21:43:53 · 4778 阅读 · 2 评论 -
golang将字符串写到文件中
func writeLog(msg string) { lock.Lock() defer lock.Unlock() fileHandle, err := os.OpenFile(fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { log.Println("open file error :", err) return } defer fileHandle.Close() // NewWriter 默认原创 2021-10-16 19:50:46 · 848 阅读 · 0 评论 -
Golang创建一个HTTP和HTTPS服务器
使用Go语言同时创建一个HTTP服务器和一个HTTPS服务器。package mainimport ( "bufio" "encoding/json" "fmt" "io/ioutil" "log" "net/http" "os" "strings" "sync" "time" "github.com/360EntSecGroup-Skylar/excelize")//安装excel库// PS C:\Users\TopFish\Desktop\https模拟器>原创 2021-10-03 17:18:34 · 1047 阅读 · 0 评论 -
VsCode下, Go代码无法跳转
废了九牛二虎之力,终于在vscode中把Go环境搭建起来了,满怀欣喜的开始写代码,此时发现代码跳转不好使,那个心情呀???????????? 网上这方面的解决方案很多,可是试了好几个,没有解决我的问题,于是鼓捣了好几次终于搞好了,抓紧拿个本本记下来????。这个情况,因人而异。这里说说我的解决方案。1. 首先更新go的各种依赖库???? Ctrl + shift + P 调出快捷命令。 ???? 选择Go:Install/Update Tools全选,然后点...原创 2021-09-02 00:30:59 · 8395 阅读 · 3 评论 -
写了一个Go程序,爬取了所有的RFC文档,共计9109篇
程序如下:package rfcDownloadimport ( "fmt" "os" "spider/tools" "time")var finish chan intfunc isExist(file string) (bool, error) { _, err := os.Stat(file) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil ...原创 2021-09-01 00:29:43 · 355 阅读 · 2 评论 -
VScode 中编译多个Go文件
在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数。具体提示在好像是:在GOPATH和GOROOT路径中都没有找到该package或者该函数。但是实际上,这个函数所在的go文件就在我的工作空间。 这里简单记录下来。 举个很简单的例子:src目录下有个main.go文件, 引用了当前目录下myTools文件夹中的Add函数:其中❇️main.go的实现如下:package mainimport ( "fmt" "myToo...原创 2021-08-30 23:30:01 · 1919 阅读 · 0 评论 -
Golang中JSON文件处理
Go语言编程系列文章Go语言学习历程整理:序号 文章 1. ????Go 爬虫之CSDN博客信息 文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言 JSON是一种比XML更轻量级的数据交换格式,易于阅读和编写的同时,也易于程序的解析和生成。此外,虽然JSON源于JS, 由于JSON采用了完全独立于语言的文本格式,采用键值的方式构建描述信息,因此逐渐成为较理想的、跨平台的、跨语言的数据交.原创 2021-08-29 00:21:38 · 1477 阅读 · 1 评论 -
这应该是我见过全网最全的Golang项目资源了
Github项目链接 Awesome GoSponsorships[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ChwHCQd-1622384947742)(https://avelino.run/sponsors/do_logo_horizontal_blue-210.png)]We have no monthly cost, but we have employees working hard to maintain the Awesome Go, with原创 2021-05-30 22:31:15 · 4194 阅读 · 0 评论 -
Golang入门学习(五):异常处理
文章目录2.5 错误处理机制2.5.1 基本说明2.5.2 入门示例2.5.3 自定义错误2.5 错误处理机制2.5.1 基本说明 Go语言追求简洁优雅,因此并不支持传统的try…catch…finally这种处理方式 Go中引入的处理方式包括: defer, panic, recover 使用场景如下: 在Go程序中跑出一个异常panic, 然后在defer中通过recover捕获到这个异常然后处理之 加入异常处理机制,即使程序发生错误,主程序依然可以继续运行2.5.2 入门示例..原创 2021-02-23 17:32:40 · 4362 阅读 · 0 评论 -
Golang入门学习(四):常用的函数汇总
文章目录2.4 常用的内置函数2.4.1 字符串常用内置函数2.4.2 常用的时间和日期相关函数2.4.3 内置函数2.4 常用的内置函数2.4.1 字符串常用内置函数https://golang.org/pkg/strings/https://golang.org/pkg/strconv/ 统计字符串长度的函数:len(str) 字符串遍历,同时处理有中文的问题:r:=[]rune(str) 字符串转整数:strconv(str), strconv.ParseInt..原创 2021-02-23 17:02:01 · 4460 阅读 · 0 评论 -
Golang入门学习(三):函数
文章目录2.3 函数2.3.1 基本语法2.3.2 入门demo:2.3.3 函数递归:2.3.4 函数注意事项2.3.5 init函数2.3.6 匿名函数2.3.7 闭包2.3.8 defer2.3.9 函数参数传递方式2.3.10 变量作用域2.3 函数2.3.1 基本语法func 函数名(形参列表) (返回值列表){ 执行语句... ... return 返回值列表} Go语言中支持函数返回多个值 如果返回值只有一个,则(返回值列表)的括号可以不写 如果有多个返回值,可以使用.原创 2021-02-23 13:09:16 · 4451 阅读 · 0 评论 -
Golang入门学习(二):控制分支
1. 控制分支1.1 if-else分支基本语法: if condition1 { 代码块1 }else if condition2 { 代码块2 } ............ else{ 代码块3 } if之后的条件不需要添加小括号(官方不需要使用) 分支执行体必须使用{}括起来,否则语法错误 只能执行一个代码块,else部分不是必须的 if/elseif 中的condition必须是条件表达式,不能为赋值语句/** if-else控制语句:*请输入一个年.原创 2021-02-22 16:39:56 · 4391 阅读 · 0 评论 -
GO安装golang.org/x/net扩展库
在学习golang过程中,有部分示例代码使用到了非标准库golang.org/x/net/html相关的库函数,但是标准代码库中没有该库,因此需要自己安装:我这里使用git下载源码进行的安装。为了使包的导入方式不变,我们需要在src目录下面构造目录结构$mkdir -p $GOPATH/src/golang.org/x/$cd $GOPATH/src/golang.org/x/$git clone https://github.com/golang/net.git net$go ins原创 2021-02-20 00:32:07 · 6447 阅读 · 0 评论 -
《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型Go语言将数据类型分为四类: 基础类型数字整数浮点数复数字符串布尔 复合类型数据结构体 引用类型指针切片字典函数通道 接口类型在此章节中先介绍基础类型。3.1 整型Go语言中提供了有符号数和无符号数两种整型运算。有符号数有:int8, int16, int32, int64无符号数有:uint8, uint16, uint32, uint64此外还有两种针对特定CPU平台机器字大小的有符号数int和无符号数原创 2021-02-19 13:35:30 · 4344 阅读 · 0 评论 -
《Go语言圣经》阅读笔记:第二章程序结构
第二章 程序结构2.1 命名在GO语言中,所有的变量名、函数、常量、类型、语句标号、包名都遵循一个原则:名字必须以字母或者下划线开头,后面紧跟任意数量的字母数字下划线。区分大小写。在GO语言中包含25个关键字:| break | default | func | interface | select || case | defer | go | map | struct || chan | else | goto | pac原创 2021-02-18 17:36:53 · 4337 阅读 · 1 评论 -
go语言学习笔记(一)
文章目录1. golang环境搭建2. golang变量常量命令规范2.1 命令规范2.2 变量声明2.3 常量定义3. golang中基本数据类型3.1 布尔类型3.2 数字类型3.3 字符串类型4. golang中高级数据类型**4.1 数组****4.2 切片****4.3 Map**4.3.1 **语法**4.3.2 **声明和初始化**4.3.3 **Map 基本操作**4.3.4 **Map 的无序性**4.3.5 **Map 线程不安全**4.3.6 **Map 嵌套**1. golang环原创 2021-02-03 00:33:17 · 4438 阅读 · 1 评论