![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 68
白日梦想猿
一只会做白日梦的猿!
展开
-
golang学习笔记系列之标准库math的学习
math包包含了一些基本的常量和数学函数。原创 2022-12-25 18:01:55 · 496 阅读 · 1 评论 -
golang学习笔记系列之标准库json的学习
这个包可以实现json的编码和解码,即实现json对象和struct之间相互转换。原创 2022-11-23 22:49:39 · 289 阅读 · 0 评论 -
golang学习笔记系列之标准库time的学习
时间类型有一个自带的Format方法,需要注意的是Go语言中格式化的模板不是常见的Y-m-d H:M:S,而是使用Go的诞生时间2006年1月2号15点04分(记忆口诀为:2006 1 2 3 4)。Package time provides functionality for measuring and displaying time.(用于时间的测量和显示)时间戳是自1970年1月1日(08:00:00GMT)至当前时间的总秒数。它也被称为Unix时间戳。原创 2022-11-14 23:07:26 · 395 阅读 · 4 评论 -
golang学习笔记系列之sort包的学习
sort包主要针对[]int,[]float64,[]string以及其他自定义的切片排序,对于任何类型的切片,只要实现了。sort.Sort默认使用快速排序方法,因此平均时间复杂度为nlog(n)sort包提供了排序切片和用户自定义数据集以及相关功能的函数。接口就可以对其进行排序。原创 2022-11-12 23:11:09 · 171 阅读 · 0 评论 -
golang学习笔记系列之一些标准库的学习(log,bytes,errors等)
go语言使用error类型来返回函数执行过程中遇到的错误,如果返回的error值为nil,则表示未遇到错误,否则error会返回一个字符串,用于说明遇到了什么错误。bytes提供了对字节切片进行读写操作的一系列函数,字节切片处理函数比较多分为基本处理函数,比较函数,后缀检查函数,索引函数,分割函数,大小写处理函数和子切片处理函数。,也就是说,error可以是任何类型,这意味着,函数返回的error值实际可以包含任意信息,不一定是字符串。通过调用log包的函数,可以实现简单的日志打印功能。原创 2022-11-06 16:46:46 · 691 阅读 · 0 评论 -
基于go语言的史上最流弊的学生成绩管理系统
一个基于go语言的学生成绩管理系统,没有花里胡哨的界面,但有你想象不到的功能;没有mysql,redis做支撑,但文件管理也不赖;没有高大上的高级语法,但经验告诉我:大道至简!刚刚学习完go语言基础,纯当拿来练手用的。喜欢的小伙伴可以拿去玩玩~🤪🤪🤪。原创 2022-10-30 12:12:24 · 557 阅读 · 0 评论 -
golang学习笔记系列之并发编程
同步是通道上发送和接收之间交互的基础。在上面的代码中,我们可以看到在主协程中调用了Gosched方法,因此当主协程和show_msg协程抢占处理机时,如果show_msg协程先抢到执行,则执行结果如上;在golang中,如果除了主协程以外还有其他的协程,当主协程结束的时候其他协程也会一起结束,不管它们有没有执行完毕,即默认是协程守护的。可以看到上面的代码的每次运行结果都可能不一样,因为每一个show_msg都用一个协程来启动,它们和主协程一样,但是只要主协程执行结束,不管它们有没有被执行,都会被结束。原创 2022-10-05 16:19:48 · 872 阅读 · 0 评论 -
golang学习笔记系列之接口
个人理解:为了方便理解,我觉得可以把它和面向对象语言里面的概念对比来理解,go语言中的接口有点类似于面向对象语言中的抽象基类,而实现了接口中所有方法的结构体可以看成是这个抽象基类的实现类,只有实现了接口中所有方法的实现类,才能把它看成是这个接口的一个子类,在参数类型是这个接口类型的地方,传入这个子类也是合法的。go语言的接口,是一种新的类型定义,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就实现了这个接口。接口就像一个公司里面的领导,它会定义一些通用规范,只是设计,而不实现规范。原创 2022-10-03 16:54:24 · 593 阅读 · 0 评论 -
golang学习笔记系列之方法
可以看到通过传递地址的fix_name2在内部修改结构体的属性后,该结构体的属性值会随之变化,而通过值传递的fix_name在内部修改结构体的属性值并不会对原结构体产生任何影响。go语言没有面向对象的特性,也没有类的概念。但是,可以使用结构体来模拟这些特性;go语言中的方法是一种特殊的函数,定义于struct之上(与struct绑定),被称为struct的接受者(receiver)。和函数的传值方法一样,方法的接受者类型同样支持值传递和地址传递,通过地址传递的,在方法内部对接受者进行操作会影响到接受者。原创 2022-09-26 22:25:58 · 318 阅读 · 0 评论 -
golang学习笔记系列之指针和结构体
类型定义语法my_type:自己新定义的类型old_type:已经存在的类型类型别名语法type my_type = old_type //用已存在的类型赋值给新类型两者的区别类型定义相当于定义了一个全新的类型,与之前的类型不同;但是类型别名并没有定义新的类型,而是使用一个别名来代替之前的类型类型别名只会在代码中存在,在编译完成之后并不会存在该别名因为类型别名和原来的类型是一致的,所以原类型所拥有的方法,类型别名定义的变量也拥有;但是如果是重定义的一个类型,那么不可以调用之前的任何方法。原创 2022-09-24 22:11:16 · 874 阅读 · 1 评论 -
golang学习笔记系列之函数
函数是go语言中的一级公民,我们把所有的功能单元都定义在函数中,可以重复使用。函数包含函数的名称,参数列表和返回值类型,这些构成了函数的签名。函数在使用之前必须先定义,可以调用函数来完成某个任务。函数可以重复使用,从而达到代码重用。语法func:声明函数function_name:函数名[parameter list]:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给函数,这个值被称为实际参数。参数列表指定的是参数类型,顺序及参数个数。参数是可选的,也就是说函数也可以不包含参数。re原创 2022-09-24 16:00:56 · 1007 阅读 · 0 评论 -
golang学习笔记系列之复杂数据类型
语法1slice_name:切片名TYPE:切片类型语法2//使用make函数定义切片时,会同时将切片初始化 slice_name := make([ ] TYPE , SIZE)slice_name:切片名TYPE:切片中元素的类型SIZE:初始化切片的大小。原创 2022-09-18 22:42:16 · 346 阅读 · 0 评论 -
golang学习笔记系列之流程控制
go语言中可以使用for range遍历数组,切片,字符串,map及通道(channel)。continue只能用在循环中,在go中只能用在for循环中,它可以终止本次循环,进入下一轮循环。是用来判断给定的条件是否满足,并根据判断的结果决定执行的语句,go语言中的条件语句也是这样的。go语言中的循环只有for循环,去除了while,do while循环,使用起来更加简洁。break关键字可以结束for,switch和select的代码块。注意:在go语言中,布尔表达式不需要使用括号。原创 2022-09-12 16:40:56 · 304 阅读 · 0 评论 -
golang学习笔记系列之基本数据类型
反引号用来创建原生的字符串,可由多行组成,但不支持转义,并且可以包含除了反引号外其他所有字符。双引号创建可解析的字符串应用最广泛,反引号用来创建原生的字符串多用于书写多行消息,HTML以及正则表达式。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才去申请大内存,需要小数据的时候就去申请小的内存,就可以充分利用空间。go语言也有基于架构的类型,例如:int,uint和uintptr。go语言的字符串常见的转义字符包含回车,换行,单双引号,制表符等。原创 2022-09-10 18:05:06 · 260 阅读 · 0 评论 -
golang学习笔记系列之变量和常量
在go语言中,常量可以是数值类型,布尔类型,字符串类型等等。iota比较特殊,可以被认为是一个可被编译器修改的常量,它的默认值是0,每调用一次值就加一,遇到const关键字时被重置为0。如果我们接收到多个变量,有一些变量使用不到,可以使用下划线,便是变量名,这种变量叫做匿名变量。变量是计算机语言中能存储计算结果或能表示值的抽象概念,不同的的变量保存的数据类型可能不一样。go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。不需要为变量指定类型,根据变量的值来自动推断变量的类型。原创 2022-09-10 17:54:31 · 261 阅读 · 0 评论 -
golang学习笔记系列之标识符,关键字以及命名规则
命名规则涉及变量,常量,全局函数,结构,接口,方法等的命名。如果变量为私有,且特有名词为首个单词,则使用小写,如appService若变量类型为bool,则名称应以Has,Is,Can或Allow开头。保持package的名称和目录一致,尽量采取有意义的包名,简洁明了,尽量不要和标准库冲突。当命名以一个大写字母开头,如:Hello,那么使用这种形式的标识符的对象就。,通俗地讲,就是给变量,常量,函数,结构体,数组,切片,接口起名字。尽量采取简洁明了的文件名,简短,有意义,应该为。原创 2022-09-10 17:50:24 · 396 阅读 · 0 评论 -
golang学习笔记系列之go语言代码的组织
早期的go项目使用gopath来管理项目,不方便而且容易出错,从golang1.11开始使用gomod管理项目,除此之外,还有第三方项目管理工具,例如govendor。来组织代码,包对应到文件系统就是文件夹,模块就是go的源文件。一个包中可以有很多模块,或者多个子包。原创 2022-09-10 17:40:05 · 391 阅读 · 0 评论 -
golang学习笔记系列之go语言的环境搭建(linux系统下)
如下图所示,找到golang的下载地址后,下载对应的linux版的最新版。如果提示了go语言的版本,就说明安装成功啦!原创 2022-07-28 12:39:26 · 314 阅读 · 0 评论