自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Go 通道(channel)

注:自己踩的一个:如果主函数创建一个通道(chan),调用的函数把这个通道关闭,那么往这个通道写数据就会崩溃,但是读值得话,就是这个类型的默认值如果说goroutine 是 Go 程序并发的执行体,通道就是它们之间的连接。通道是可以让一个 goroutine 发送特定值到另一个 goroutine 中的通信机制。每一个通道是一个具体类型的导管,叫做通道的元素类型。package main...

2018-04-30 21:08:58 193

原创 Go 的goroutine(协程)

goroutine在Go里,每一个并发执行的活动称为 goroutine 。当一个程序启动时,只有一个 goroutine 来调用 main() 函数,称它为主 goroutine fun() //调用 fun(),等待它返回go fun() //新建一个调用 fun() 的goruntine ,不用等待

2018-04-30 20:28:42 161

原创 Go 基本数据类型

GO 的数据类型分为四大类:基础类型(basic type),聚合类型(aggregate type),引用类型(reference type),接口类型(interface type)。下面讲的是基础类型:number,string, bool。其它的会在后面的博客涉及到1.1 整数有符号整数: int8 int16 int32 int64无符号整数 uint8

2018-04-30 15:02:45 142

原创 Go 接口

如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。 Go语言中的接口是一些方法的集合(method set),它指定了对象的行为:如果它(任何数据类型)可以做这些事情,那么它就可以在这里使用。特点:Go语言的接口的独特之处在于它是【隐式实现】。...

2018-04-30 12:10:11 116

原创 Go语言中的方法

1.1 方法声明 方法的声明和普通函数类似,只是在函数名字前面多了一个参数。这个参数把这个方法绑定到这个参数对应的类型上 import ( "fmt" ) type Point struct { x, y int } func fun() { fmt.Println("我是一个普通的 fun") } func (p Point) f

2018-04-29 21:44:35 194

原创 解析GO语言中的 deter

延迟函数调用(defer) Go语言中延迟函数defer充当着 cry...catch 的重任,使用起来也非常简便,然而在实际应用中,很多人并没有真正搞明白defer、return和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!12先来运行下面两段代码: A. 无名返回值的情况package mainimport ( "fmt")func main()...

2018-04-29 17:17:21 1013

原创 GO函数

1.1 函数声明 每个函数声明都包含一个名字,一个形参列表,一个可选的返回列表以及函数体func fun(x,y float64) float{ return 100.00}也可以func fun(x float64,y float64) float{ return 100.00}1.2函数递归 函数可以递归调用,这就意味着函数...

2018-04-29 16:01:54 695

原创 Go程序结构

1.1 名称Go中函数,变量,常量,类型,语句标签和包的名称遵循一个简单的命名规则:名称的开头是一个字母或下划线,并且区分大小写注:实体的第一个字母的大小写决定了其可见性是否可以跨包。如果名字是大写字母的开头,它是导出的,意味着它对包外可见和可访问的,可以被包外的其他程序所引用(拷贝),像 fmt 包中的 Printf.包名总是由小写字母组成。1.2 声明声明给一个实体命名,并...

2018-04-28 21:10:14 208

原创 TCP(HTTP)长连接和短连接的区别以及怎样维护长连接

一、HTTP协议和TCP协议HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。二、HTTP协议的长连接和短连接在HTTP/1.0中,默认使用的是...

2018-04-25 22:19:18 836

原创 HTTP/ 1.0 和HTTP /1.1 的区别

区别一(最重要) HTTP/ 1.1 加入了 1 持久连接(HTTP Persistent Connections),也称为 HTTP keep-alive,持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态 2 管线化(也叫流水线)(pipelining),以前发送请求后需要等待并且收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可...

2018-04-16 13:53:25 1071

原创 360第一次面试(电面)未完待续

1 内部名称 C和C++语言实现都会按照特定的规则把用户(程序员)定义的标识符(各种函数,变量,类型,以及命名空间)转换为相应的内部名称。当然,这些内部名称的命名方法还与用户为它们指定的连接规范有关,比如使用C的连接规范,则main的内部名称就是_main。2 C为什么不支持重载,C++支持重载 部分采摘至《高质量c++/c语言》 其实这个原因,还是要从C和C++的命名...

2018-04-09 00:28:05 292

原创 TCP半关闭,半连接,半打开

半关闭: 当TCP链接中A向B发送 FIN 请求关闭,另一端B回应ACK之后,并没有立即发送 FIN 给A,A方处于半连接状态(半开关),此时A可以接收B发送的数据,但是A已经不能再向B发送数据。半连接: 发生在TCP三次握手中 如果A向B发起链接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。 半连接攻击:半连接,会造成B分配的内存资源就一直这...

2018-04-08 17:04:15 8562

原创 A + B 问题

给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。 注意事项你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。您在真实的面试中是否遇到过这个题?说明a和b都是 32位 整数么?是的我可以使用位运算符么?当然可以样例如果 a=1 并且 b=2,返回3方法一 int aplusb(int a, int b) { // w...

2018-04-06 23:25:23 257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除