![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 52
firstcode666
这个作者很懒,什么都没留下…
展开
-
golang httprouter
httprouterhttprouter 是一个高性能、可扩展的HTTP路由,上面我们列举的net/http默认路由的不足,都被httprouter 实现,我们先用一个例子,认识下 httprouter 这个强大的 HTTP 路由。安装: 1 goget -u github.com/julienschmidt/httprouter 在这个例子中,首先通过httprouter.New()生成了一个*Router路由指针,然后使用GET方法注册一个适...转载 2022-02-15 10:16:04 · 580 阅读 · 0 评论 -
Go 缓存系列之 go-cache
go版权我是一只可爱的土拨鼠,专注于分享 Go 职场、招聘和求职,解 Gopher 之忧!欢迎关注我。欢迎大家加入Go招聘交流群,来这里找志同道合的小伙伴!跟土拨鼠们一起交流学习。一句话描述go-cache[1]基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序简介go-cache是什么?基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序 ,支持删除,过期,默认Cache共享锁,大量key的情况下..转载 2022-02-15 10:14:57 · 5062 阅读 · 0 评论 -
关于golang中数组的一点疑惑
为什么数组可以通过下标访问我们知道golang中的数组存储的是相同数据类型的一组数据,数组是定长的,在声明的时候就会分配一块连续的内存段来存储各个元素,每个元素分配的内存大小是一样的,这样,只要知道了数组的首地址,就可以通过内存偏移量的方式知道第n个元素的地址了,也就实现了通过下标的方式访问指定元素。数组中存储的到底是什么数据显然数组中存储的不一定是值本身:1、如果是字符串,存储的是字符串对象的地址因为,如果存字符串内容的话,每个元素存储的内容大小不一样,但是要满足通过下标访问,那么每.转载 2022-02-10 14:15:17 · 165 阅读 · 0 评论 -
Go lang学习第四篇数组,切片,关联数组,Range遍历
一、数组package mainimport "fmt"func main() { //这里我们创建一个数组`a`来存放刚好5个`int` //元素的类型和长度都是数组类型的一部分。数组默认是零值,对于`int`数组来说也就是0 var a [5]int fmt.Println(a) //我们可以使用`array[index] = value`语法来设置数组 //指定位置的值,或者用`array[index]`来得到值 a[4] ...转载 2022-02-08 09:29:44 · 358 阅读 · 0 评论 -
Go1.17 新特性:go get 变了
为什么把 Go 的一些小变化单独写文章,而不是一篇文章介绍所有的变化?主要是想让大家对某一个特性有更深的记忆。全部列出,很容易一眼而过,过段时间就忘记了。但一个变化,专门一篇文章介绍,更容易记住。01 安装命令会警告一直以来,go get 用于下载并安装 Go 包、命令等,而 go install 在module时代几乎很少使用,在 GOPATH 年代,go install 用来编译安装本地项目。自 1.16 起,官方说,不应该 go get 下载安装命令(即可执行程序),不过只是这么...转载 2022-02-07 20:19:47 · 4489 阅读 · 0 评论 -
go热重启插件rizla安装与使用
用go写接口的时候,每次添加或修改个接口都需要go build重启项目才能测试,感觉很麻烦。而且也没用到beego框架,因为beego有bee工具,bee run启动项目fsnotify会监控文件变动,这样每次就可以不用go build。经查发现在Iris项目中有个插件叫rizla支持热重启。使用方法如下: # 安装rizla包 $ go install github.com/kataras/rizla@latest # 热重启方式启动ir原创 2022-02-07 20:12:03 · 1160 阅读 · 0 评论 -
go自定义包并引入包
目录如下:fddf@fds-MacBook-Pro package_test % tree ..├── auth│ ├── login.go│ └── logout.go├── go.mod├── main.go├── package_test└── route ├── auth.go └── site.go执行命令:go mod init package_testmain.gopackage mainimport "package_te...原创 2022-02-07 20:05:09 · 447 阅读 · 0 评论 -
golang安装iris框架时踩的坑
使用指令:go get -u github.com/kataras/iris安装iris框架会报错误如下:…\pkg\mod\github.com\kataras\iris@v0.0.2\view\blocks.go:76:37: undefined: blocks.AssetFunc…\pkg\mod\github.com\kataras\iris@v0.0.2\view\blocks.go:76:66: undefined: blocks.AssetNamesFunc…\pkg\mod\git.转载 2022-02-07 11:38:23 · 1155 阅读 · 1 评论 -
【Golang】安装 iris 的方法
根据 iris 在 github 上的官方文档,结合自己在安装时的过程,现在总结一下 iris 的安装方法。1. 创建工作目录mkdir myapp2. 进入工作目录cd myapp3. 初始化 myapp 的 modgo mod init myapp4. 从 github 上获取 irisgo get github.com/kataras/iris/v12@master国内的代理服务器可能与 github 通信失败,所以可以更换代理服务器。(for Windows10)go.转载 2022-02-07 11:25:35 · 16004 阅读 · 0 评论 -
go安装iris框架
用法Go 1.13 及以上(推荐)打开你的终端并执行$ go env -w GO111MODULE=on$ go env -w GOPROXY=https://goproxy.cn,direct完成。macOS 或 Linux打开你的终端并执行$ export GO111MODULE=on$ export GOPROXY=https://goproxy.cn或者$ echo "export GO111MODULE=on" >> ~/.profile转载 2022-02-07 11:06:12 · 524 阅读 · 0 评论 -
go mysql 添加数据_使用go脚本向MySQL表中写入数据
db, err := sql.Open("mysql", "fdfd:123456@tcp(127.0.0.1:3306)/test?charset=utf8") if err != nil { fmt.Println("database initialize error : ", err.Error()) } stmt, err := db.Prepare("insert into test(cate_id, title, content)values(?, ?, ?)") if err..原创 2022-02-01 12:13:14 · 1083 阅读 · 0 评论 -
Golang随机数生成
需求:10以内随机生成2个幸运数字 1 2 3 4 5 6 7 8 9 10 11 packagemain import( "fmt" "math/rand" ) funcmain() { fmt.Println("My first lucky number is", rand.Intn(10...转载 2022-02-01 11:45:01 · 474 阅读 · 0 评论 -
Go语言获取中英文混和字符串的长度以及子字符串的方法
1. 纯英文字符串使用len()函数。testString1 := "China!"length1 := len(testString1)fmt.Printf("testString1 字符串的长度是:%d", length1)长度是6。2. 中英文混合字符串2.1 先使用len()函数。testString2 := "我爱你中国,我爱你China!"length2 := len(testString2)fmt.Printf("字符串的长度是:%d", length2)fm.转载 2022-02-01 11:42:19 · 1607 阅读 · 0 评论 -
[GO] golang 中main包下入口文件调用其它go文件函数出现undefined
golang main包下推荐只有一个main.go的入口文件当有其他的go文件 , 并且在其他go文件中定义了函数在main.go入口文件中调用了该函数 , 执行go run main.go , 会提示undefined如果非得这样做那么go run 的时候把所有文件都得加上 , 否则默认只加载main.go这一个文件只有非main包里的文件才会通过依赖去自动加载。所以你需要输入多个文件作为参数应该使用go run a.go b.go c.go 或 go run *.go来..转载 2022-01-28 09:47:01 · 2752 阅读 · 0 评论 -
go语言指针数组与数组指针
数组指针————指向数组的指针var array = [5] int {1,2,3}var p *[5]int = &arrayq := &arrayfmt.Println( p[2] )fmt.Println( q[2] )以上 p 和 q 都是指向数组的指针指针数组————数组成员的类型是指针按照go语言数组的定义方式,可以这样定义指针数组var p [] *intvar q = [2] *int{ &array[0],&array...转载 2022-01-20 16:41:17 · 1371 阅读 · 0 评论 -
Go之文件操作
一:os.File封装了所有与文件操作有关的操作,File是结构体①:常用操作 ①:Read()举例,Read()取出len(b)的字节数据,并写入b中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25..转载 2022-01-20 16:40:14 · 1414 阅读 · 0 评论 -
go中模拟while和do……while循环
大家都知道go没有提供while和do……while这两种循环,只提供了灵活的for循环机制,那如果有类似while或do while的循环需求,怎么做呢,下面我们就用for来模拟这两种循环://输出10次hello,world(使用类似while循环形式,先判断后做)func jobWhileMoni() { var count = 0 for { if count >= 10 { break //如果count>=10则...转载 2022-01-19 13:21:44 · 222 阅读 · 0 评论 -
Go 网络编程示例
示例:并发时钟服务器本节介绍 net 包,它提供构建客户端和服务器程序的组件,这些程序通过 TCP、UDP 或者 UNIX 套接字进行通信。网络服务 net/http 包是在 net 包的基础上构建的。时钟服务器这个示例是一个时钟服务器,它以每秒一次的频率向客户端发送当前时间:package mainimport ( "io" "log" "net" "time")func main() { listener, err := net....转载 2022-01-19 11:55:52 · 648 阅读 · 0 评论