Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。
Go语言能干什么?
1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀
4、Paas云平台领域:Kubernetes和Docker Swarm等
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的
8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
rune是Go语言中一种特殊的数据类型,它是int32的别名,几乎在所有方面等同于int32,用于区分字符值和整数值,官方解释如下:
下面我们通过一个例子来看一下:
我们猜测一下结果,hello5 个字符+1 个空格+3 个汉子,算起来应该是 9 个,长度为 9 才对,但是我们执行一下,
结果打印是 15,这是为什么呢?
所以计算出的长度就等于 5+1+3*3=15
如果我们需要计算出字符串的长度,而不是底层字节的个数,那么可以使用下面的方法:
运行结果如下:
在 rune 定义上方还有一个,byte = uint8