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

96 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

一、什么是go语言

Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它用批判吸收的眼光,融合C语言、Java等众家之长,将简洁、高效演绎得淋漓尽致,有人说他是新时代的c语言。在从诞生到现今十年多的时间里,Go语言发展势头强劲,凭借其简洁、高效的特性,在竞争激烈的编程语言市场中占据了一席之地。字节跳动、Google、腾讯、阿里等大公司纷纷选择使用Go语言来开发服务应用项目。

二、Go语言语法

1.第一个程序:hello world(golang)

一般来说,我们学习任何一门编程语言,输出hello world是我们的第一个程序,go也如此。 1673765828551.png

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) (stringstring) {  
   return y, x  
}

结构体方法

在 Golang 里面可以为结构体去定义一些方法。会有一点类似其他语言里面的类成员函数
在实现结构体的方法的时候也有两种写法,一种是带指针,一种是不带指针。
带指针的结构体方法可以修改结构体变量,而不带指针的不可以

1673767728267.png

三、SOCKS5代理

SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。

SOCKS5代理原理

1673768149063.png