随笔分类 -  GO

1 2 下一页

go时间模块
摘要:相关包 "time" 时间戳 当前时间戳 fmt.Println(time.Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) # 这是个奇葩,必须是这个时 阅读全文

posted @ 2020-09-28 16:41 不要挡着我晒太阳 阅读(141) 评论(0) 推荐(0) 编辑

多态
摘要:多态:同一件事情由于条件不同产生的结果不同 由于Go语言中结构体不能相互转换,所以没有结构体(父子结构体)的多态,只有基于接口的多态.这也符合Go语言对面向对象的诠释 多态在代码层面最常见的一种方式是接口当作方法参数 代码示例 结构体实现了接口的全部方法,就认为结构体属于接口类型,这是可以把结构体变 阅读全文

posted @ 2020-03-05 18:10 不要挡着我晒太阳 阅读(117) 评论(0) 推荐(0) 编辑

接口
摘要:接口解释:接口是一组行为规范的定义. 接口中只能有方法声明,方法只能有名称、参数、返回值,不能有方法体 每个接口中可以有多个方法声明,结构体把接口中 所有 方法都重写后,结构体就属于接口类型 Go语言中接口和结构体之间的关系是传统面向对象中is-like-a的关系 定义接口类型关键字是interfa 阅读全文

posted @ 2020-03-05 13:49 不要挡着我晒太阳 阅读(128) 评论(0) 推荐(0) 编辑

继承
摘要:按照传统面向对象思想,继承就是把同一类事物提出共同点为父类,让子类可以复用父类的可访问性内容. 继承有多种实现方式 通过关键字继承,强耦合实现方式 组合式继承,松耦合继承方式 使用过Java或C#的应该知道尽量少用继承而是使用组合代替继承,可以使用高内聚,低耦合.Java之父之前在一次采访的时候也说 阅读全文

posted @ 2020-03-05 13:47 不要挡着我晒太阳 阅读(102) 评论(0) 推荐(0) 编辑

封装
摘要:封装主要体现在两个方面:封装数据、封装业务 Go语言中通过首字母大小控制访问权限.属性首字母小写对外提供访问方法是封装数据最常见的实现方式 可以通过方法封装业务 提出方法是封装 控制结构体属性访问,对外提供访问方法也是封装 在面向对象中封装的好处: 安全性.结构体属性访问受到限制,必须按照特定访问渠 阅读全文

posted @ 2020-03-05 13:45 不要挡着我晒太阳 阅读(108) 评论(0) 推荐(0) 编辑

go语言中的面向对象
摘要:一.面向对象和面向过程 面向过程编程代码只适用于当前情况,而面向对象编程更注重重用,同一套代码可以使用多样的情况 面向过程编程(OPP)就是详细的按照顺序的把整个过程实现 例如:学生从家里去上学需要出门-->找到OFO-->扫描开锁-->上车-->直行-->左拐-->找到”粥饼面”-->停车-->上 阅读全文

posted @ 2020-03-05 13:41 不要挡着我晒太阳 阅读(277) 评论(0) 推荐(0) 编辑

方法
摘要:方法和函数语法比较像,区别是函数属于包,通过包调用函数,而方法属于结构体,通过结构体变量调用 默认是函数,隶属于包,所以需要添加标识.告诉编译器这个方法属性哪个结构体 调用方法时就把调用者赋值给接收者(下面的变量名就是接受者) func (变量名 结构体类型) 方法名(参数列表) 返回值列表{ // 阅读全文

posted @ 2020-03-05 13:23 不要挡着我晒太阳 阅读(114) 评论(0) 推荐(0) 编辑

结构体指针
摘要:由于结构体是值类型,在方法传递时希望传递结构体地址,可以使用时结构体指针完成 可以结合new(T)函数创建结构体指针 peo := new(People) //因为结构体本质是值类型,所以创建结构体指针时已经开辟了内存空间 fmt.Println(peo == nil) //输出:false //由 阅读全文

posted @ 2020-03-05 12:51 不要挡着我晒太阳 阅读(441) 评论(0) 推荐(0) 编辑

结构体
摘要:一.结构体 结构体解释:将一个或多个变量组合到一起,形成新的类型.这个类型就是结构体 Go语言中的结构体和C++结构体有点类似,而Java或C#中类本质就是结构体 结构体是值类型 结构体定义语法 通过语法可以看出,Go语言发明者明确认为结构体就是一种自定义类型 type 结构体名称 struct{ 阅读全文

posted @ 2020-02-27 15:48 不要挡着我晒太阳 阅读(384) 评论(0) 推荐(0) 编辑

时间类型
摘要:一.时间类型概述 时间类型在实际开发中使用频率很高,代表现实世界的时间 在Go语言中时间类型不是关键字而是使用time包下Time结构体 时间类型默认显示为UTC,所以经常需要把时间类型转换为字符串,显示成我们所熟悉的格式 #二.Time的使用 声明Time时,默认时间是无意义的 func main 阅读全文

posted @ 2020-02-27 15:14 不要挡着我晒太阳 阅读(456) 评论(0) 推荐(0) 编辑

值传递和引用传递
摘要:讨论值传递和引用传递时,其实就是看值类型变量和引用类型变量作为函数参数时,修改形参是否会影响到实参 在Go语言中五个引用类型变量,其他都是值类型 slice map channel interface func() 引用类型作为参数时,称为浅拷贝,形参改变,实参数跟随变化.因为传递的是地址,形参和实 阅读全文

posted @ 2019-12-25 15:41 不要挡着我晒太阳 阅读(161) 评论(0) 推荐(0) 编辑

闭包
摘要:闭包不是Go语言独有的概念,在很多编程语言中都有闭包 闭包就是解决局部变量不能被外部访问一种解决方案 是把函数当作返回值的一种应用 代码演示 总体思想为:在函数内部定义局部变量,把另一个函数当作返回值,局部变量对于返回值函数就相当于全局变量,所以多次调用返回值函数局部变量的值跟随变化 package 阅读全文

posted @ 2019-12-25 11:43 不要挡着我晒太阳 阅读(158) 评论(0) 推荐(0) 编辑

摘要:包(package)是Go语言中组织单元.包是逻辑上的分组.而物理上的分组是不同的文件夹,文件夹和包一般是对应的 把多个文件放入同一个文件夹中,这些文件就是在同一个包中. 虽然允许源码文件的package和文件夹名不同但是最终编译后都会把文件的package编译成文件夹名称.所以为防止错误最好把文件 阅读全文

posted @ 2019-12-25 11:04 不要挡着我晒太阳 阅读(227) 评论(0) 推荐(0) 编辑

函数变量
摘要:在Go语言中函数也是一种类型,函数有多少种形式,函数变量就有多少种写法 var a func() //无参数无返回值 var b func(int) //有一个int类型参数 var c func(int) string //有一个int类型参数和string类型返回值 fmt.Println(a, 阅读全文

posted @ 2019-12-25 10:45 不要挡着我晒太阳 阅读(245) 评论(0) 推荐(0) 编辑

函数
摘要:函数:一段代码块 所有的流程控制代码和业务代码都只能写在函数内部 为什么使用函数: 把一个功能提出作为一个函数便于后期维护,结构清晰 函数声明的语法 函数声明后不会执行,必须调用后才会执行 func 函数名(参数列表) 返回值{ //函数体 } 函数调用的语法 返回值:=函数名(参数) 无参数无返回 阅读全文

posted @ 2019-12-24 20:44 不要挡着我晒太阳 阅读(112) 评论(0) 推荐(0) 编辑

双向链表/list
摘要:双向链表结构如下 双向链表结构中元素在内存中不是紧邻空间,而是每个元素中存放上一个元素和后一个元素的地址 第一个元素称为头(head)元素,前连接(前置指针域)为nil 最后一个元素称为尾(foot)元素,后连接(后置指针域)为nil 双向链表的优点: 在执行新增元素或删除元素时效率高,获取任意一个 阅读全文

posted @ 2019-12-24 17:33 不要挡着我晒太阳 阅读(259) 评论(0) 推荐(0) 编辑

map
摘要:map以散列表方式存储键值对集合 map中每个元素都是键值对 map[key]Value key是操作map的唯一标准.可以通过key对map中元素进行增加/删除/修改/查看 key是唯一的,添加重复的key会覆盖之前的元素. map是值类型,只声明时为空指针(nil) var m map[stri 阅读全文

posted @ 2019-12-24 16:32 不要挡着我晒太阳 阅读(329) 评论(0) 推荐(0) 编辑

切片
摘要:切片的英文名称slice 切片:具有可变长度相同类型元素序列. 由于长度是可变,可以解决数组长度在数据个数不确定情况下浪费内存的问题. 切片和数组声明时语法最主要的区别就是长度 var slice []string //切片 var array [3]string //数组 切片只声明时为nil,没 阅读全文

posted @ 2019-12-24 14:56 不要挡着我晒太阳 阅读(325) 评论(0) 推荐(0) 编辑

for循环
摘要:循环:让程序多次执行相同的代码块 for循环是Go语言中唯一一个循环结构 for循环经典语法 先执行表达式1 执行表达式判断是否成立,如果成立执行循环体 循环体执行完成后,执行表达式3 再次执行表达式2,判断是否成立. for 表达式1;表达式2;表达式3{ //循环体 } 代码示例 经典for循环 阅读全文

posted @ 2019-12-24 11:05 不要挡着我晒太阳 阅读(472) 评论(0) 推荐(0) 编辑

数组
摘要:数组:具有固定长度相同类型元素序列 声明数组的语法 //var 对象名 [长度]元素类型 var arr [5]int fmt.Println(arr) //输出:[0 0 0 0 0] 数组就是内存中一段固定长度的连续空间. 声明数组后数组就会在内存中开辟一块连续空间,每个值称为数组的元素,且元素 阅读全文

posted @ 2019-12-23 21:30 不要挡着我晒太阳 阅读(139) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 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 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示