获得徽章 0
- #每天一个知识点# 函数声明包含一个函数名,参数列表, 返回值列表和函数体。如果函数没有返回值,则返回列表可以省略。函数从第一条语句开始执行,直到执行return语句或者执行函数的最后一条语句。赞过评论1
- #每天一个知识点# 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型,Go语言中可以使用type关键字来定义自定义类型。
自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。评论点赞 - #青训营 x 字节后端训练营# 1. 数组:是同一种数据类型的固定长度的序列。
2. 数组定义:var a [len]int,比如:var a [5]int,数组长度必须是常量,且是类型的组成部分。一旦定义,长度不能变。
3. 长度是数组类型的一部分,因此,var a[5] int和var a[10]int是不同的类型。
4 . 数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1展开评论点赞 - #每天一个知识点# 里氏替换原则 (Liskov Substitution Principle, LSP)
如果对每个类型为T1的对象o1, 都有类型为T2的对象o2, 使得T1定义的所有程序P在所有的对象都代换成o2时, 程序P的行为没有发生变化, 那么类型T2是类型T1的子类型, 换句话说, 所有引用基类的地方必须能透明地使用其子类的对象.
在使用继承时, 遵循里氏替换原则, 在子类中尽量不要重写父类的方法.
此原则告诉我们, 继承实际上让两个类地耦合性增强了, 在适当地情况下, 可以通过聚合, 组合, 依赖来解决问题.展开评论点赞 - #青训营 x 字节后端训练营# 依赖倒转原则 (Dependence Inversion Principle, DIP)
高层模块不应该依赖底层模块, 二者都应该依赖其抽象
抽象不应该依赖细节, 细节应该依赖抽象
依赖倒转中心思想是面向接口编程
设计理念: 相对于细节的多变性, 抽象的东西要稳定的多
使用接口或抽象类的目的是制定好规范, 而不涉及具体的操作, 把展现细节的任务交给他们的实现类去完成.展开评论点赞 - #每天一个知识点# 当cpu在执行某一程序过程中,在突发事件的请求下,cpu中断当前正在执行的程序,自动转去执行为处理该事件而预先编写的程序服务;当服务程序执行完后,cpu继续执行原来的程序。这一过程称为中断。赞过评论1
- #青训营 x 字节后端训练营# 快慢指针是一种常用的技巧,用于解决链表中的问题。
快慢指针的思想是:两个指针以不同的速度遍历链表,从而达到目的。
快慢指针的常见应用:
判断链表是否有环
寻找链表的中点
寻找链表的倒数第k个节点
寻找链表的交点
寻找链表的入环点
计算链表的环的长度展开评论点赞 - #每天一个知识点# 根据数据传送方向,串行通信可以分为三个种类,分别是单工、半双工和全双工。
单工:通信双方一方固定为发送方,另一方固定为接收方,数据只能是单行传送。
半双工: 通信双方只使用一根数据线,每一方都有发送器和接收器,可以在两个方向上传送,但通信双方不能同时接收或发送数据,只能交替进行。
全双工:通信双方使用两根数据线,分别用于不同方向的数据传输,通信双方能够同时收发数据。展开评论点赞 - #每天一个知识点# 计算机与外界的信息传输被称为通信,基本通信方式有并行通信和串行通信两种。
8051单片机具有一个全双工的异步串行通信接口,可以同时发送数据和接收数据。评论点赞 - #青训营 x 字节后端训练营# 切片的截取是一个左闭右开的区间。
切片截取后,切片的长度和容量都会发生变化, 长度为截取的长度,容量为原切片的容量减去截取的起始位置。评论点赞