Go语言基础语法 | 青训营笔记

72 阅读2分钟

一、简介

1、Go 语言含义及特点

1)高性能、高并发

2)语法简单、学习曲线平缓

3)丰富的标准库

4)完善的工具链

5)静态链接

6)快速编译

7)跨平台

8)垃圾回收

 

2、Go语言优势

1)比Python性能好

2)比C++适合在线Web业务

3)部署简单、学习成本低

4)以 RPC 和 HTTP 框架的推广为基础

二、入门

1、开发环境

1)安装Golang

2)配置集成开发环境

3)基于云的开发环境

 

2、基础语法

1)Hello World

2)变量

3)if else

4)循环

5)switch

6)数组

7)切片

8)map

9)range

10)函数

11)指针

12)结构体

13)结构体方法

14)错误处理

15)字符串操作

16)字符串格式化

17)JSON处理

18)时间处理

19)数字解析

20)进程信息

 

 

3、标准库

三、实战

1、猜谜游戏

1)生成随机数

2)读取用户输入

3)实现判断逻辑

4)实现游戏循环

 

2、在线词典

1)抓包

2)生成代码

3)生产request body

4)解析response body

5)打印结果

6)完善代码

 

3、SOCKSS代理

浏览器和socks5代理建立TCP连接,代理再和真正的服务器建立TCP连接。这里可以分成四个阶段,握手阶段、认证阶段、请求阶段、relay阶段。

第一个握手阶段,浏览器会向socks5代理发送请求,包的内容包括一个协议的版本号,还有支持的认证的种类,socks5服务器会选中一个认证方式,返回给浏览器。如果返回的是 00 的话就代表不需要认证,返回其他类型的话会开始认证流程。

第三个阶段是请求阶段,认证通过之后浏览器会socks5服务器发起请求。主要信息包括 版本号,请求的类型,一般主要是connection请求,就代表代理服务器要和某个域名或者某个 IP 地址某个端口建立TCP连接。代理服务器收到响应之后,会真正和后端服务器建立连接,然后返回一个响应。

第四个阶段是relay阶段。此时浏览器会发送正常发送请求,然后代理服务器接收到请求之后,会直接把请求转换到真正的服务器上。然后如果真正的服务器以后返回响应的话,那么也会把请求转发到浏览器这边。然后实际上 代理服务器并不关心流量的细节,可以是 HTTP流量,也可以是其它TCP流量。这个就是socks5协议的工作原理。