本文大部分引用《GO WEB编程这本书》
为什么使用Go语言做web开发?
无论哪一种语言,只要它能够开发出人类交互的软件,它必然会支持web应用开发,而大规模可扩展的web应用通常具备一下气质:
可扩展:
应用的管理者能够简单,快速地提高应用的性能,以便处理更多的请求,应用是可扩展的,那么它就是线性的,这意味着管理者可以通过添加更多硬件来来获得更强的请求处理能力。
增加硬件的两种方式:
因为Go语言天生的支持并发编程,所以它在垂直扩展的方面有着不俗的表现,一个Go web应用只需要使用一个操作系统线程,就可以进行调度来高效的运行10万个goroutine
这段话并没有完全理解
Go web应用之上架设代理来进行高效的水平扩展,因为Go web应用都会被编译为不包含任何动态依赖关系的静态二进制文件,所以我们可以把这些文件分发到没有安装Go语言的系统中,从而以一种简单一致的方式部署Goweb应用。
模块化
大规模的web应用应该由可替换的组件构成,这种做法能够是开发更容易进行增删改查,从而满足业务的不断需求,除此之外,这种做法,可以是代码的复用率变得较高,使得成本减少
Go语言的函数支持空的接口作为参数,所以用户只需要创建一个接受空接口作为参数的函数,就可以把任何类型的值传给函数
这段话并没有完全理解
Go语言也常常用于创建微服务。
可维护
和其他庞大复杂的应用一样,拥有一个易于维护的代码库对大规模的web应用来说也是非常重要的。
Go语言提供很多工具例如Go fmt
还有测试文件等,大大的提高开发效率。
性能
Go语言的设计就是提供接近C的性能