go语言学习
super码王
一直在努力,从未放弃!!!
展开
-
go语言操作Redis详细步骤
前言:导入开源库操作字符串package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { //通过 go 向 redis 写入和读取数据 //1、连接到redis conn, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("redis.Dial err=", err) retur.原创 2021-11-18 21:49:26 · 3030 阅读 · 0 评论 -
go语言之tcp编程
效果展示原理图解源码编写go服务端的编写package mainimport ( "fmt" "net")func processData(conn net.Conn) { //数据处理完之后关闭连接 defer conn.Close() for { buf := make([]byte, 1024) n, err := conn.Read(buf) if err != nil { fmt.Println("服务器数据处理异常 e...原创 2021-11-04 12:07:44 · 321 阅读 · 0 评论 -
一文玩转go语言中的channel
可以说 channel(管道) 是go语言中的一大特色,对于初学者来说,使用起来的确有点费劲,本文从案例下手,来引导大家如何使用。注意点一:管道是引用类型,使用之前得make//测试代码package mainfunc main() { // chan int 我们应该把它看作一个整体,他就代表一个数据类型 var intChan chan int intChan <- 1}//测试结果PS E:\project\src\go_dev\day14\demo03>原创 2021-10-24 12:46:35 · 277 阅读 · 0 评论 -
冒泡排序之go语言实现
基本介绍案例分析思路分析一共需要多少轮排序 (数组Size - 1) 每一轮中需要多少次比较 (数组Size - 轮次) 数据交换算法(3种):临时变量法、求和法、异或法代码实现package mainimport "fmt"//冒泡排序func BubbleSort(arr *[5]int) { fmt.Println("排序前arr=", *arr) for i := 0; i < len(arr)-1; i++ { //轮次循环 for j..原创 2021-09-13 10:37:48 · 232 阅读 · 0 评论 -
go语言中的闭包
基本概念闭包:函数 + 该函数使用到的变量 共同组成了 闭包实现方式通过 函数 返回函数 的方法实现案例实践实现代码闭包法package mainimport ( "fmt" "strings")func makeSuffix(suffix string) func(string) string { return func(fileName string) string { if strings.HasSuffix(fileName, suffix.原创 2021-09-02 19:11:20 · 268 阅读 · 0 评论 -
go语言中的递归函数
问题展示思路分析不管是哪门编程语言,递归函数的重要性不言而喻。你只要掌握了下面这两点,没有写不出来的递归。找到初始值 找到递归表达式结合案例分析1、找到初始值第10天 有一个桃子2、找到递归表达式第9天 =(第10天+1)*2第8天 = (第9天+1)*2所以,总结表达式 : 前一天 = (后一天+1)*2代码展示package mainimport "fmt"func sf(day int) int { if day == 10 { re原创 2021-09-01 19:26:14 · 399 阅读 · 0 评论 -
go语言中 strconv.ParseInt 第三个参数的作用
官方解释相信很多小伙伴 看到官方解释 还是懵的一批小道解释在网上很多帖子说 第三个参数是指定返回值类型的,看到这种帖子,我只想说你在放屁,函数都看不懂,回炉重造吧!!!针对函数 返回值 问题,官方文档已经写得很清楚了,就是 多返回值(int64,error)那么,第三个参数有何用?其实,他是起到 string 转 int 时的一个限制作用,如果超过了第三个参数 bitSize 的限制,那么就会将报错信息输出到 error 中案例展示我们分别将 “127” 和 “128”.原创 2021-08-27 14:30:15 · 8516 阅读 · 3 评论 -
gopls requires a module at the root of your workspace.You can work with multiple modules by opening
前言在学习 go 语言的时候,VsCode 编辑器一直给我报这个错误,虽然不影响我 go 代码的运行,但是看着心烦,于是在网上找了好多篇文章,真™无语,都是互抄,并且解决不了问题。下面,我将记录本人的解决思路。报错信息gopls requires a module at the root of your workspace.You can work with multiple modules by opening each one as a workspace folder.Improve原创 2021-07-27 16:26:19 · 6964 阅读 · 4 评论 -
vscode中为golang开发环境配置代理goproxy
和 npm 、 pip 等包管理工具一样,你的包都是从网上拉去到本地,然而,由于国内网络的原因,这些工具 你都得换国内代理,要不然下载很慢或直接失败。这篇文章所讲的为golang开发下载插件(开发包) 也需要从网上拉取一些东西,不幸的是,一如既往的失败!!!这个时候我们就该想到是代理的问题了!!!(本篇文章默认你 go 语言开发环境安装好了,只是包下载不了)执行 go env ,输出信息如下:我们把目光放到这两个变量上:GO111MODULE // 设置go module..原创 2021-07-27 13:24:37 · 3996 阅读 · 0 评论