go语言写运维脚本,golang运维脚本
golang适合做web开发吗
适合。框架足够成熟了 A Survey of 5 Go Web Frameworks
创新互联是一家集网站建设,泰顺企业网站建设,泰顺品牌网站建设,网站定制,泰顺网站建设报价,网络营销,网络优化,泰顺网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
小型项目你甚至不用框架,用net/http http - The Go Programming Language
常用库也成熟了 Top - Go Search
golang的web后端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web项目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
对于文件改动重新编译其实并不是大问题,看pilu/fresh · GitHub,其实你自己写shell脚本(也可以直接用go写,因为它本身就是系统语言)监控文件系统改动然后自动重新build,即使是C/C++的项目这也不是大问题,人们不用C/C++写web是因为它们不是写web app的最佳选择
golang写的代码编译通过后,要比scripting language鲁棒,因为go compiler强制一些最佳实践
求用go语言编写的统计脚本
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) 2 {
fmt.Println("Please Input File Name!")
return
}
file, err := os.Open(os.Args[1])
if err != nil {
return
}
buff := make([]byte, 1000)
_, err = file.Read(buff)
if err != nil {
return
}
a, c, d, e, _ := Sum(buff)
fmt.Printf("a c d e \n%d %d %d %d\n", a, c, d, e)
}
func Sum(buff []byte) (a, c, d, e, def int) {
for i := 0; i len(buff); i++ {
switch buff[i] {
case 'a':
a++
case 'c':
c++
case 'd':
d++
case 'e':
e++
default:
def++
}
}
return
}
Go语言的应用
Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。
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语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
本文名称:go语言写运维脚本,golang运维脚本
本文来源:http://scyanting.com/article/dsscchp.html