我有点困惑。我已经关注了Google App Engine和GoLang教程。我真的很喜欢GoLang如何使用工作空间。既没有提到彼此,也没有提到他们如何联系。
我的问题是,Google的Go SDK和Golang的Go应用程序之间有什么区别。谷歌的Go SDK是否包含GoLang中的所有内容,还有一些?
很抱歉,如果以前曾被问过,但无法弄清楚如何有效地搜索类似的问题。
参考文献:
答案 0 :(得分:4)
Go(或Golang)是一种编程语言。使用Go,您可以构建编译为本机可执行二进制文件的“任何”应用程序。您可以在自己的计算机上运行已编译的应用程序。您可以使用Go开发各种应用程序,甚至是Web应用程序。 Go标准库包含一个内置的Web服务器,因此如果您想在Go中开发Web应用程序,您不需要将Web应用程序部署到的任何其他Web服务器,Go应用程序可以提供Web服务请求本身。
要在Go编程语言中开发应用程序,您需要Go SDK。 Go SDK包含将Go源代码编译为可执行二进制代码的工具。 Go SDK还包含许多预先编写的库,您可以在开发应用程序时使用标准库。
Google App Engine (GAE)是Patform as a service (PaaS)。这意味着它们为您提供了一个平台和服务,您可以在其中运行您开发的(Web)应用程序。您不必担心服务器的设置方式,您不必担心维护。您只需编写可以使用平台提供的特殊服务的应用程序,上传或部署它,其余部分由平台负责。
Google App Engine允许您以多种语言编写(web)应用程序,包括Python,Java,PHP,Go,Node,Ruby等。
您可以使用Go编程语言编写要在GAE平台上运行的应用程序。通常,为了安全性和可维护性原因,在这样的平台上运行的应用程序(如GAE)会被沙箱化。因此,对于您为应用程序选择的编程语言及其标准库,您可以使用的内容存在一些限制。
为了使GAE应用程序的开发成为可能并且简化,您需要Google App Engine SDK(每种语言都有一个)。为了实现GAE应用程序在Go 中的开发成为可能,您需要具体使用Google App Engine SDK for Go。
但请注意,GAE SDK for Go是基于Go SDK构建的,您无需安装Go SDK即可开发GAE Go应用程序,因为GAE SDK for Go包含略微修改的Go SDK。它被修改为实现沙箱限制,并且还包含库,这些库是使用GAE平台中可用的不同服务的API,例如Datastore,Mail API用于发送电子邮件等。
GAE SDK包含在本地编译和测试GAE应用程序的工具。它模仿了实时GAE平台的环境,因此您可以尝试生产中可用的大多数服务。
GAE SDK还包含一些工具,可以在您认为应用程序准备就绪后直接将其部署到GAE平台,或者您希望在实时环境中进行尝试。
答案 1 :(得分:0)
GoLang应用似乎涵盖任意Go应用(包括非GAE应用)。
Google的Go GAE SDK是本地开发GAE Go应用程序所必需的。
答案 2 :(得分:0)
Golang是编程语言(" Golang App"在您的问题中)。这是创建基于Golang的应用程序的标准方法。
Google SDK(适用于Golang,Java ...)是一个框架,用于创建使用Google服务的Golang(或Java ...)应用程序(谷歌云平台,以及所有Gmail,日历,地图。 ..您可能需要的任何API。)