Google希望通过其开源Go Cloud项目使Go语言(Golang)成为云应用程序开发的主要内容,该项目具有一个库和工具来构建可跨不同云移植的应用程序。 Go Cloud的早期Beta版本可用,尚不适合生产使用。
Go提供了云开发优势,包括低延迟和内置并发。 同时,Go Cloud提供了用于编写更简单,更可移植的应用程序的API。
现在,一组通用API涵盖:
Go Cloud为基于这些API的可移植云库生态系统奠定了基础。 当前,Go Cloud GitHub存储库具有Google Cloud Platform和Amazon Web Services的实现。 计划很快为更多云提供商提供支持。
对于项目而言至关重要的是Wire,它是一种代码生成器,它可以创建人类可读的代码,并为开发人员使用的提供程序导入云SDK。 这使Go Cloud在不增加编译时间或二进制大小的情况下支持云提供商,同时避免了init()
函数的影响。
Wire使用依赖项注入使组件的连接自动化。 组件依赖性表示为功能参数,以鼓励显式初始化,而不是全局变量。 Wire在没有运行时状态或反射的情况下运行,从而启用了用于手写初始化的代码。
您可以从GitHub 下载Go Cloud 。 按如下所示安装它和Wire:
go get github.com/google/go-cloud
go get github.com/google/go-cloud/wire/cmd/wire
From: https://www.infoworld.com/article/3293417/go-cloud-aims-to-cement-golang-in-the-cloud.html