易水风萧个人学习

风萧萧兮易水寒,壮士一去兮不复还

go语言学习笔记之六---异常处理

慢慢的才知道,太在乎别人了往往会伤害自己

一 error接口Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,该接口的定义如下: type error interface {    Error() string} Go语言的标准库代码包errors为用户提供如下方法: package errorstype errorString struct {     text ......

go语言学习笔记之五---面向对象编程

浅浅的微笑,谁能读懂那种悲伤

一 概述对于面向对象编程的支持Go 语言设计得非常简洁而优雅。因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。 尽管Go语言中没有封装、继承、多态这些概念,但同样通过别的方式实现这些特性: 封装:通过方法实现 继承:通过匿名字段实现 多态:通过接口实现 ......

go语言学习笔记之四---函数的使用

用一生去回望,那些经年的岁月,是记忆里不灭的伤

一 格式定义函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。 Go 语言函数定义格式如下: func FuncName(/*参数列表*/) (o1 type1, o2 type2/*返回类型*/) {    //函数体    return v1, v......

go语言学习笔记之三---流程控制

每一个矜持淡定的现在,都有一个很傻很天真的曾经

一 选择结构1.1 if语句Go 编程语言中 if 语句的语法如下: if 布尔表达式 { /* 在布尔表达式为 true 时执行 */} If 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。 1.1.1 if 基本使用package mainimport "fmt"func main(......

go语言学习笔记之二---复合类型

选择让你快乐的那个人来共度余生,而不是你必须努力取悦的那一个

一 分类 类型 名称 默认值 说明 pointer 指针 nil array 数组 0 slice 切片 nil 引⽤类型 map 字典 nil 引⽤类型 struct 结构体 二 指针指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言对指针的支持介于Java语言和C/C++语言之间,它既没有想J......

go语言学习笔记之一---基础类型

微笑转瞬即逝,但有时候,微笑背后的记忆却能永远长存

一 命名Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。 命名规范: 1)字母、数字、下划线 2)不能以数字开头 3)名字不能是关键字 4) 区分大小写 Go语言中......

全栈之路-双亲委派机制

低谷期是我自己熬过来的,我的温柔是一次次教训给的,快乐早就没了,我没有对不起任何人,唯独对不起我自己,所以现在少了谁的陪伴都无关紧要

一 基本定义类加载器是jre的一部分,负责动态将类添加到Java虚拟机。当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。 双亲委托机制采用的是”向上委托,向下查找“,其步骤如下: 第一步(向上委托) 当前类加载对.class进行加载,先会找到上级类加载器AppClassLoader,然后去缓......

全栈之路-设计模式基础知识

人的一生会遇到两个人,一个惊艳了时光,一个温柔了岁月

一 设计模式的六大原则1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principl......

全栈之路-map问题汇总

时间太宽,指缝太瘦,我从水墨江南打马过,从一生走到一世,追忆从前,却雨碎江南。而这独夜里的痴痴眸子,不知可曾记得的人还记得

一 HashMap底层原理1.1 HashMap的特性 HashMap存储键值对实现快速存取,允许为null。key值不可重复,若key值重复则覆盖。 非同步,线程不安全。 底层是hash表,不保证有序(比如插入的顺序) 1.2 HashMap的底层原理基于hashing的原理,jdk8后采用数组+链表+红黑树的数据结构。我们通过put和get存储和获取对象。当我们给put()......

全栈之路-dubbo基础知识

我不知道自己到底在执着什么,但我知道,我一直都在为难自己

一 dubbo基础知识1.1 dubbo支持的协议 dubbo:// rmi:// hessian:// http:// webservice:// thrift:// memcached:// redis:// rest:// 各个协议的适用场景 dubbo: 单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远大于......