golang
文章平均质量分 50
Go-Bluer
一起学习,一起成长。任何问题都可以call我邮箱465434099@qq.com
展开
-
go语言通过内存缓存加快程序运行速度
斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)go语言实现斐波那契数列有助于我们更好地了解递归的原理和思想,下面不多说,直接上代码!func fibonacci(a int)(result int){//递归需要一个出口...原创 2018-08-11 15:33:49 · 1073 阅读 · 0 评论 -
《GO语言圣经》学习初感与建议
前言今天刚看了《GO语言圣经》的前二十页,感触颇深,深感此书之精髓,令人叹服,决定从今日起,记录下啃书的收获与感悟,与君共勉!!! 在记录中,我会有选择的进行分享,对那些自我感觉比较关键的细细解读,一些不是太重要的我就简单略过了,以此节省大家的时间。有兴趣的小伙伴可以边看书边看我的博客,有什么想法跟我交流交流,一起进步一起成长,效果想必是极好的。 学习建议首先说一下,我自学GO...原创 2018-09-14 17:17:55 · 6665 阅读 · 3 评论 -
[golang]实现UDP协议下的C/S模型
上个帖子总结了TCP协议下简单的的C/S模型,现在来看一下UDP协议下的C/S模型,TCP和UDP的异同点下图清晰可见。 因此TCP和UDP各有优缺点,选择什么协议进行开发得根据实际情况分析。值得一提的是,UDP的客户端实现和TCP的客户端实现可以说是一模一样的,具体可进入我的上一个帖子参考: [golang]实现Tcp协议之简单C/S模型但是UDP服务器和TCP略有不同! 由于...原创 2018-09-10 17:24:22 · 796 阅读 · 0 评论 -
Golang输出世界上所有的语言文字(Unicode的力量)
前言下面这段代码,可以瞬间打印出世界上所有的语言,英文,日语,汉字,拉丁,汉语,甚至纳西文字,藏语,应有尽有,让我们直接看代码并欣赏结果:func main() { var i int=0 var t int=0 for { fmt.Printf("%c",i) time.Sleep(time.Nanosecond) ..原创 2018-09-15 21:32:50 · 3872 阅读 · 0 评论 -
[golang]实现Tcp协议之简单C/S模型
这个图清晰的展示了tcp协议下的C/S模型运行机制,首先我们先来执行图片右边的TCP服务器。原创 2018-09-09 22:26:35 · 1194 阅读 · 0 评论 -
Go语言十行实现简单http服务器
Go语言搭建简易http服务器只需三步: 1..注册处理函数。http.HandlerFunc(文件路径,回调函数) 2.绑定服务器监听地址 http.ListenAndServe(Ip+port ,nil) 3.补充处理函数handler 下面结合代码来细看package mainimport "net/http"//3.处理函数用来接收和输入**第三步详细说明**/*这一...原创 2018-09-03 21:03:19 · 3169 阅读 · 0 评论 -
go使用条件变量实现生产者消费者模型
概述前面已经学习过使用channel完成简单的生产者消费者模型了,但那种模型存在一定的弊端,生产者消费者数量增加时,数据容易紊乱或被堵塞,而使用条件变量实现的生产者消费者模型可以有效解决这一点。所需知识点条件变量:条件变量的作用并不保证在同一时刻仅有一个协程(线程)访问某个共享的数据资源,而是在对应的共享数据的状态发生变化时,通知阻塞在某个条件上的协程(线程)。条件变量不是锁,在并...原创 2018-09-07 20:41:45 · 539 阅读 · 2 评论 -
Golang一百行代码实现简单的并发聊天室
*> 项目介绍:Golang语言100行代码实现高并发聊天室,其中实现的功能有:上下线广播,私聊,用户改名,超时强踢,在线用户检测等在开始项目前,我们需要理解贯穿这整个项目的两个重要变量,若能理解这两个变量的使用,那么并发聊天室项目会变得手到擒来。第一个是onlinemap全局map,第二个是Message全局通道。全局map类型为map[string][client],这个...原创 2018-09-04 16:49:01 · 3808 阅读 · 7 评论 -
并发与并行,进程、线程和协程之间的异同小节
并行:依赖硬件完成同一时刻,同时运行多个程序。真正的多任务。 并发:依赖CPU高速运算的特性,出现像是同时运行多个程序的现象,伪的多任务,本质是同一刻只能执行一个任务,但是极短时间内轮番执行多个。================================================================================== 进程: 运行...翻译 2018-08-24 21:09:36 · 446 阅读 · 0 评论 -
golang实现贪吃蛇(go面向对象版)
**贪吃蛇几乎每个人都玩过,而对于程序员来说,这也是每个程序员成长路上的必经之路,一个小小的里程碑,那么如何在go语言中利用面向对象编程的方法实现贪吃蛇呢,别急,我们先整理一下大致思路。**1、蛇结构体创建 长度 []坐标 方向 2、食物结构体创建 坐标 3、蛇初始化 设置蛇长度 2节 设置蛇的坐标 蛇头方向 4、界...原创 2018-08-12 12:55:57 · 3083 阅读 · 1 评论 -
go语言panic异常及recover拦截恢复初级
Go语言为我们提供了专用于“拦截”运行时panic的内建函数——recover。它可以是当前的程序从运行时panic的状态中恢复并重新获得流程控制权。下面我们来看一下具体该怎么用 package main import “fmt” func main() { var a int =10 //故意让10除以0 var b int //recover应...原创 2018-08-11 16:17:57 · 691 阅读 · 2 评论 -
golang实现经典猜数字游戏
程序需求: 程序运行后会在0-9之间随机生成4位不重复的数字 程序启动,4位随机数已经产生,但用户看不到。 用户需要输入四位不重复的数字 按下回车会给出判断情况如 A代表用户手动输入的数字和位置与程序随机生成的数字和位置都一样。例如(程序随机生成:8765而用户输入数字为:8765显示判断情况为AAAA) B代表用户输入的数字是程序随机生成的四位数字中的一个,但用户输...原创 2018-08-11 15:47:50 · 793 阅读 · 0 评论 -
你离十万行代码还差多远?(程序实现)
自古编程界流传着这样一个传说,十万行代码堆出一个程序大牛,所以我们每个人都奋斗在敲代码的路上,那么我们究竟离那十万行代码还差多远呢?!这个程序的灵感就来源与此传说。原创 2018-09-20 21:19:22 · 720 阅读 · 0 评论