这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
一、什么是go语言
Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致,有人说他是新时代的c语言。在从诞生到现今十年多的时间里,Go语言发展势头强劲,凭借其简洁、高效的特性,在竞争激烈的编程语言市场中占据了一席之地。字节跳动、Google、腾讯、阿里等大公司纷纷选择使用Go语言来开发服务应用项目。
二、Go语言语法
1.第一个程序:hello world(golang)
一般来说,我们学习任何一门编程语言,输出hello world是我们的第一个程序,go也如此。
2.变量 (golang)
声明变量的一般形式是使用 var 关键字:
var a int
需要注意:它的数据类型是放在变量名后的。
go语言可以根据值自动判断其类型
var s="hello"
var a=10
3.函数
在Go语言中,函数的基本组成为:关键字 func、函数名、参数列表、返回值、函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块。
普通函数
如下图所示,普通函数最基本的结构。
func function_name( [parameter list] ) [return_types] {
函数体
}
与其他语言不同的是,go的函数可以有多个返回值
func swap(x, y string) (string, string) {
return y, x
}
结构体方法
在 Golang 里面可以为结构体去定义一些方法。会有一点类似其他语言里面的类成员函数
在实现结构体的方法的时候也有两种写法,一种是带指针,一种是不带指针。
带指针的结构体方法可以修改结构体变量,而不带指针的不可以
三、SOCKS5代理
SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。