随笔分类 -  go语言基础

go发送请求get|post
摘要:golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下 get请求 get请求可以直接http.Get方法,非常简单 func httpGet() { resp, err := http.Get("http 阅读全文

posted @ 2021-09-23 13:34 孤灯引路人 阅读(411) 评论(0) 推荐(0)

go 实现爬虫
摘要:一:使用go获取远程图片存储在本地案例 1>生成随机数 len:=32 bytes:=make([]byte,len) r:=rand.New(rand.NewSource(time.Now().Unix())) for i:=0;i<len;i++ { b:=r.Intn(26)+65 bytes 阅读全文

posted @ 2021-08-26 14:33 孤灯引路人 阅读(865) 评论(0) 推荐(0)

go,redis实现订阅和发布
摘要:1.服务端代码 【备注:这是服务端没秒发送一个数据导发布频道里面】 package main import ( "fmt" "github.com/go-redis/redis" "math/rand" "time" ) func main(){ redisConnect() } func redi 阅读全文

posted @ 2021-08-23 16:29 孤灯引路人 阅读(583) 评论(0) 推荐(0)

go文件&&目录操作
摘要:一:常规文件 1.go读取文件第一种做法【案例就是复制文件】 filePath:="./show.txt" copyFilepath:="./copy.txt" file,_:=os.Open(filePath) defer file.Close() buf:=make([]byte,1024) f 阅读全文

posted @ 2021-07-16 13:20 孤灯引路人 阅读(271) 评论(0) 推荐(0)

gocurd案例
摘要:1.使用go的mysql扩展实现curd 1.前提条件根据表的结构创建一个结构体 type Student struct { Id int Uid int Suject string Scores int cate_id int } 1.查询单条数据 //查询单条数据 func SelectOne( 阅读全文

posted @ 2021-06-22 16:49 孤灯引路人 阅读(136) 评论(0) 推荐(0)

Go module的介绍及使用
摘要:1.Modules是Go 1.11中新增的实验性功能,是一种新型的包管理工具。使用前确保go version在1.11以上 1.查看环境变量 E:\go\src\test>go env 2.设置go Modules运行 E:\go\src\test>go env -w GO111MODULE=on 阅读全文

posted @ 2021-05-08 17:03 孤灯引路人 阅读(677) 评论(0) 推荐(0)

Golang协程详解和应用
摘要:前言 学习和使用golang也有一段时间了,golang最近2年在国内很火,提起golang和其它语言最大区别莫过于协程,不过咱今天先不说协程,我先说一下自己的一些理解。 对c熟悉的人应该对go不陌生,它们都属于强类型静态编译型语言,在语法上和PHP这种弱类型动态解释型语言不一样,虽然差异很大,但是 阅读全文

posted @ 2021-04-20 00:27 孤灯引路人 阅读(1500) 评论(0) 推荐(0)

go里面redis缓存池
摘要:1.代码实现[这是redisgo]扩展使用 package main import ( "fmt" "github.com/gomodule/redigo/redis" ) var pool *redis.Pool; func init(){ pool = &redis.Pool{ MaxIdle: 阅读全文

posted @ 2020-12-28 00:06 孤灯引路人 阅读(340) 评论(0) 推荐(0)

go语言操作redis
摘要:1.使用hash存储 package main import ( "bufio" "fmt" "github.com/gomodule/redigo/redis" "os" "strconv" ) func main(){ id:=1; conn,err:=redis.Dial("tcp","127 阅读全文

posted @ 2020-12-27 18:05 孤灯引路人 阅读(264) 评论(0) 推荐(0)

goredis的操作
摘要:1.字符串类型操作 package main import ( "fmt" "github.com/gomodule/redigo/redis" ) func main(){ conn,err:=redis.Dial("tcp","127.0.0.1:6379");//使用Dial连接 if err 阅读全文

posted @ 2020-12-27 00:20 孤灯引路人 阅读(130) 评论(0) 推荐(0)

go安装redis扩展
摘要:1.在github.com网站找到对应的扩展【go get 下载】 【https://github.com/gomodule/redigo】 2.在本地环境安装go的环境变量下安装使用命令【确认git已经安装成功】 3.在本地已经下载好对应的文件 go module 阅读全文

posted @ 2020-12-26 22:40 孤灯引路人 阅读(1059) 评论(0) 推荐(0)

go里面os包的使用案例
摘要:1.获取所有的环境变量[os.Environ] package main import ( "fmt" "os" "strings" ) func main(){ envs:=os.Environ(); for _,env:=range envs { cache:= strings.Split(en 阅读全文

posted @ 2020-12-23 10:48 孤灯引路人 阅读(354) 评论(0) 推荐(0)

Go里面 G-P-M 模型概述
摘要:G-P-M 模型概述 在 Go 语言中,每一个 goroutine 是一个独立的执行单元,相较于每个 OS 线程固定分配 2M 内存的模式,goroutine 的栈采取了动态扩容方式, 初始时仅为2KB,随着任务执行按需增长,最大可达 1GB(64 位机器最大是 1G,32 位机器最大是 256M) 阅读全文

posted @ 2020-12-21 16:01 孤灯引路人 阅读(1044) 评论(0) 推荐(0)

go管道使用2-协程配合起来使用
摘要:管道遍历和协程配合起来使用 package main import ( "fmt" "sync" ) var wg sync.WaitGroup //创建一个协程 func work(myChan chan int){ for v:=range myChan { fmt.Println(v*2) } 阅读全文

posted @ 2020-12-18 00:33 孤灯引路人 阅读(101) 评论(0) 推荐(0)

go管道使用1-各种数据类型使用
摘要:go里面管道使用 1.有缓冲的管道 package main import "fmt" func main(){ intchan:=make(chan int,3);//创建有缓冲管道 intchan <- 10;//写入管道数据 firstDara:= <- intchan;//从管道里面读取数据 阅读全文

posted @ 2020-12-17 22:53 孤灯引路人 阅读(370) 评论(0) 推荐(0)

go里面json数据序列化
摘要:代码展示 package main import ( "encoding/json" "fmt" ) //各种数据结构转化为json type Persion struct { Name string `json:"name"` //这里使用这种方式给Name别名 Age int Sex strin 阅读全文

posted @ 2020-12-11 00:00 孤灯引路人 阅读(263) 评论(0) 推荐(0)

go如何接受参数
摘要:1.使用flag接受参数 package main import ( "flag" "fmt" ) //编写一段代码获取命令行各个参数 func main(){ var user string; var pwd string; var host string; var port int; flag. 阅读全文

posted @ 2020-12-09 22:37 孤灯引路人 阅读(918) 评论(0) 推荐(0)

go文件操作
摘要:1.go文件操作 package main import ( "bufio" "fmt" "io" "io/ioutil" "os" ) //一次一次读取文件 func main(){ fileName:="test.txt"; file,_:=os.Open(fileName);//打开一个文件 阅读全文

posted @ 2020-12-06 23:16 孤灯引路人 阅读(329) 评论(0) 推荐(0)

go实现员工管理系统
摘要:1.本系统分为三层分别为视图层,业务层,数据层代码如下 入口文件 package main import ( "fmt" "model" "service" ) type customerView struct { key string loop bool customerservice * ser 阅读全文

posted @ 2020-12-06 21:55 孤灯引路人 阅读(540) 评论(0) 推荐(0)

go类型转换
摘要:go:interface{}、断言与类型转换 interface{}可用于向函数传递任意类型的变量,但对于函数内部,该变量仍然为interface{}类型(空接口类型), 不清楚这点将可能导致错误。如以下代码: package main import "fmt" /* **用于输出数组元素 */ f 阅读全文

posted @ 2020-12-02 14:46 孤灯引路人 阅读(91) 评论(0) 推荐(0)

导航