go语言基础语法与实战|青训营笔记

102 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记。 go语言有高性能高并发的特点。go有完善的工具链,代码补充、代码测试等功能都有对应的工具链。它的编译特别快,是c语言比不上的。Go自带垃圾回收机制,类似java。早期团队的服务都是用Python写的,随着遇到一些性能问题,一些团队尝试使用go语言编写服务,发现go语言简单易学,开发效率高,性能好,开发和部署十分简单,随即进行go框架的推广。Go中的语句与c不同,语句的末尾不需要加分号。其中的输出与c语言也不同,Go可以通过%v来使编译器自动辨别变量类型来输出。在go中,定义变量可以使用var a = “abc”或a:=”abc”。字符串类型的变量可以通过+来拼接,以及通过strings.Builder来连接,这样效率更高。 在在线词典中,可以通过流来读取输入,也可通过scanf的方式来读取输入。在测试后发现有一些翻译网页在实现词典的时候会报错。目前还不清楚原因。

Socks5是一种明文协议,Socks5协议历史久远,在互联网诞生初期有它的存在。在互联网的早期,一些企业的内网为了确保安全会配备很严格的防火墙,这让管理员都很难访问一些数据。这时候就可以通过Socks5来给防火墙开一个通道,方便访问。Socks5的原理是:浏览器先和代理服务器建立TCP连接,再让代理服务器和真正浏览器建立连接。第一个阶段是协商阶段。如果希望实现不加密的代理,可跳过认证阶段。然后发送请求,代理服务器再和真正浏览器建立TCP连接,并返回响应。