Golang 网络编程丝绸之路 - TCP/UDP 地址解析
TL;DR 在使用 Golang 编写 TCP/UDP socket 的时候,第一步做的就是地址解析。
该函数返回的地址包含的信息如下:
TCPAddr 里, IP 既可以是 IPv4 地址,也可以是 IPv6 地址。 Port 就是端口了。 Zone 是 IPv6 本地地址所在的区域。
从返回结果看该函数的参数, network 指 address 的网络类型; address 指要解析的地址,会从中解析出我们想要的 IP , Port 和 Zone 。
从源码中可以看出,参数 network 只能是如下四个值,否则会得到一个错误。
解析过程跟 ResolveTCPAddr 的一样,不过得到的是 *UDPAddr 。
UDPAddr 包含的信息如下:
golang是什么意思
Go语言(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 扩展资料
Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的'增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。
Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。
作为程序员,推荐给初学者的5大编程语言
其实,只要不是太小众、太边缘的编程语言,只要精通一门,都可以横行IT互联网,无论就业或创业。
在IT编程这个行业,分前端和后端。
前端易入门、易上手,如果仅是为了就业而学习,那么时间投入产出比,最快的是学前端,而不是后端;
但学会了后端,再去学前端,就非常容易,并且后端不仅在就业方面,而且以后开发产品、创业都比前端有优势;
对于前、后端语言,如果都是普通熟练程度,现阶段,二者工资差别不是太大,但一个精通前端和一个精通后端,都是5年以上的程序员,很明显,后端程序员的工资远比前端程序员工资高。
因为很多人从事IT编程3-5年,顶多也就算熟练,称不上精通,那么对于新手,还纠结于编程学什么语言好的话,推荐下面这几种语言来学习:
1、PHP
属于后端语言,学习它的好处是:学习时间短、成本低、短期投入产出比明显,能让你对编程不再有恐惧感,让你爱上编程,并且在国内非常流行,用来做web开发非常适合;能做各类web系统的开发,熟练或精通它,无论就业或创业,都很easy。缺点是:入门太容易了,太多人会了,反而不值钱了,找工作容易,高薪的话,要非常精通才行。
2、java
相比php来说,入门稍微有些难度,但熟练或精通后,工资普遍比php高,也就是说你有5年java开发经验和有10年java开发经验,无论是工资还是技术,是有天壤之别的;但你有5年php经验和有10年php的经验,其实差别不是非常大。java可以做安卓开发、桌面应用系统开发以及web开发等。
3、python
python语言和golang语言选其中一个来学就可以,python比golang更容易些,应用范围非常广,如:web开发、爬虫、大数据处理、桌面端软件、还可用于 游戏 、人工智能、机器人等。他好像什么都会,但专做某一领域,公司反而会选其他语言,他是个多面手,但具体都很精、很专的业务,反而好多公司不选他,虽然如此,对于个人而言,学习它不会错。
4、golang
golang作为服务器编程语言,很适合做日志处理、数据打包、虚拟机处理、数据库代理等工作。在网络编程方面,它还广泛应用于web应用、API应用等领域。golang发布于2009年,比较年轻,目前有很多招聘和创业应用的需求,工资也不错,但初学者,短期内用它找工作或创业有难度,适合已经掌握了其他语言的情况下,学习golang。
5、C#
适合做windows类桌面软件、应用程序、web开发,BS/CS软件程序他都可以开发;虽然我以前学过asp ^^,但我对他了解不多,上手不难,也可以做 游戏 开发的后端等等。
还有超多的,如:Object-C、C++、C、Swift、Perl...
对于前端,基本上都是基于javascript,我目前对前端不是很精通,但下面几个东东,是非常值得你学习和掌握的:
1、vue/uniapp
这两个,在目前,前端非常火。学这个就不要再去看这2个了:react和angular。
2、node.js
这个我认为可以说他是脚本语言,也可以说他是后端语言。
3、H5+CSS+Bootstrap+jquery
这个非常非常的容易,不要专门花时间去学,工作过程中用到,顺便看看,就能用