
go语言
微笑向暖_li
不知道输出什么的最大原因是:输入的太少~
展开
-
rand随机数生成
1.rand.Intn()随机数生成func main(){ n := rand.Intn(100) fmt.Println(n)}输出:81我们会发现每次运行的随机数都一样。2.rand.Seed(seed int64)func main(){ rand.Seed(time.Now().Unix()) n1 := rand.Intn(100) fmt.Println(n1)}输出:52我们会发现每次输出的值都不一样。3.如果不使用rand.Seed(se原创 2021-03-18 10:39:22 · 669 阅读 · 0 评论 -
日常学习总结golang(day5)---文件操作
文件操作文件是什么?计算机中的文件是存储再外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。1. 打开和关闭文件os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。func main() { //只读的方式打开当前目录下的demo.go file,err:=os.Open("./demo.go")...原创 2020-03-28 11:23:50 · 209 阅读 · 0 评论 -
日常学习总结golang(day4)---包、接口
1. 包(package)包的定义:package关键字,包名通常是和目录名一致,不能含有-一个文件夹就是一个包,文件夹里存放的都是.go文件包的导入:使用import关键字。a.包导入路径是从$GOPATH/src后面的路径开始写起的;b.可以单行导入,也可以多行导入;c.可以给导入的包起别名,也可以匿名导入:import _"包的路径"。匿名导入的包与其它方式导入的包一样都会被...原创 2020-03-27 23:48:36 · 186 阅读 · 0 评论 -
日常学习总结golang(day3)---结构体
1.递归递归:函数自己调用自己,适合处理那种问题相同、问题规模越来越小的场景。注意:递归一定要有一个明确的退出条件,否则很容易成死循环。计算n的阶乘func f(n uint64) uint64 { if n<=1{ return 1 } return n*f(n-1)}func main() { ret:=f(5) fmt.Println(ret)//1...原创 2020-03-26 22:51:51 · 153 阅读 · 0 评论 -
日常学习总结golang(day2)---函数、闭包、defer
1.map:Go语言中,提供映射关系容器的为map,其内部结构使用hash实现,引用类型,必须初始化才能使用。2.函数:函数是组织好的,可重复使用的,用于执行指定任务的代码块。函数存在的意义:一段代码的封装;把一段逻辑抽象出来封装到一个函数中,给它起一个名字,每次用到它的时候直接调用就可以啦;使代码结构更清晰,更简介。变量作用域(1) 全局变量(2)函数作用域i....原创 2020-03-25 23:11:21 · 180 阅读 · 0 评论 -
日常学习总结golang(day1)---数组、切片、指针
对于go语言的语法还是简单易懂的,不过还是要多看看,加深一下印象。而只学基本语法是根本无法满足开发的需求的。最近跟着视频学习,除了基本语法还有并发、中间件、日志库、互联网协议、Mysql、redis、gin、docker等等。为了以后自己复习方便,看完后进行一些总结。有需要的同学也可以看一下!1. for…range(键值循环)Go语言中可以使用for...range遍历数组、切片、字符串、...原创 2020-03-24 23:19:11 · 283 阅读 · 0 评论 -
从文件中读取数据,计算时间差并记录到excel表格中
接到一个任务,将类似如下图中的十万条数据:格式:本地接收时间 [编号] Recived on [hello]: ‘发送的消息|发送时间|test’要求:计算出每两条的时间差,接收时间与发送时间的时间差思路:创建excel—>读取文件—>取出接收时间和发送时间—>进行比较代码实现:package mainimport ( "bufio" ...原创 2020-01-16 17:48:43 · 393 阅读 · 0 评论 -
稀疏数组sparseArray
一、稀疏数组的介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。二、稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值;思想: 将具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。举例说明:代码实现:package mainimport "fmt"type ValNode struct { row in...原创 2020-01-16 16:55:43 · 147 阅读 · 0 评论 -
golang 通过fsnotify监控文件
一、 需要下载的包go get github.com/fsnotify/fsnotify二、使用fsnotify监控文件type Watch struct { Watch *fsnotify.Watcher}func (w *Watch) WatchDir(dir string) { //通过walk来遍历目录下的所有子目录 filepath.Walk(dir, func(p...原创 2019-10-22 17:08:09 · 3338 阅读 · 1 评论 -
有关channel的相关知识总结(1)
1.channel的特点类似Unix中的管道(pipe)先进先出,类似队列线程安全,多个goroutine同时访问,不需要加锁channel是有类型的,一个整数的channel只能存放整数多个goroutine之间通过channel进行通信支持任何类型channel在使用之前必须先进行初始化2.channel的声明int类型的声明 var intchan chan...原创 2019-08-22 18:12:39 · 38168 阅读 · 0 评论 -
有关channel的相关知识(2)
1.channel阻塞初始化定义的intchan的长度是10,所以当循环写入100数字是会发生channel阻塞的问题。func main() { intChan := make(chan int, 10) go write(intChan) time.Sleep(10 * time.Second)//为了避免主程序的快速退出}func write(ch chan int) { f...原创 2019-08-23 14:00:48 · 6412 阅读 · 0 评论 -
Go语言格式化输出
Go语言格式化输出欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,...原创 2019-06-25 12:54:45 · 1576 阅读 · 0 评论