go语言快速入门:Web应用的HelloWorld(11)

    xiaoxiao2021-03-26  43

    go有很多优秀的框架,可以在其基础之上进行Web开发,非常方便。其实即使不使用框架,go提供的面向web开发的标准包使用起来进行Web开发也极为方便。至少第一个Web应用的入门HelloWorld,在go中的实现非常简单。在这篇文章中,我们将简单与之和Spring Boot开发作简单的对比,从中了解一下go的http包的强大功能.

    Spring Boot

    Spring Boot基于COC的思路,内嵌了应用服务器和约定俗成的规范,使得使用如下简单的代码即可实现一个Web应用的开发, 极大地简化开发的过程.

    @RestController @SpringBootApplication public class DemoApplication { @RequestMapping("/") public String Hello(){ return "Hello, Spring Boot..."; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

    所以很容易看出来,Spring Boot的背后是由关键是注解的关联/IoC的实现保证了开发的简单快速。详细可以参看:

    项目URL入门实例http://blog.csdn.net/liumiaocn/article/details/53442364

    net/http包

    go的net/http包提供了从路由到cookie设定以及模板文件使用等诸多功能,利用http包可以极其简单地搭建起来一个可以运行的Web应用。接下来,我们将通过实现一个和Spring Boot上述例子一样的程序,来了解一下go是如何实现的。

    例子代码

    为了说明更加简单,此例未作异常处理等,在这个例子中我们想实现8080端口的/的访问的对应处理,期待输出“Hello, Welcome to go web programming…”

    [root@liumiaocn goprj]# cat basic-web-hello.go package main import "fmt" import "net/http" func Hello(response http.ResponseWriter, request *http.Request) { fmt.Fprintf(response, "Hello, Welcome to go web programming...") } func main() { http.HandleFunc("/", Hello) http.ListenAndServe(":8080", nil) } [root@liumiaocn goprj]#

    执行结果

    [root@liumiaocn goprj]# go run basic-web-hello.go

    画面确认

    这个只有四行的程序非常简单快速地实现了很多人使用go语言进行开发的第一个Web应用程序。

    总结

    通过go语言的一个简单的Web应用的实现,仿佛能看到Spring Boot的RequestMapping注解的go语言实现版。了解函数和函数指针的C特点的开发者知道,这种关联的实现也并不困难,而go使用http包中的http.HandleFunc与之和实现进行关联,使得使用go进行RESTful的开发也将会非常方便和快捷。而且它都不需要一个内嵌的应用服务器,因为go语言与底层的亲和性以及标准包的强大,在ListenAndServe中设定端口即可。

    淼叔 认证博客专家 神经网络 TensorFlow NLP 资深架构师,PMP、OCP、CSM、HPE University讲师,EXIN DevOps Professional与DevOps Master认证讲师,曾担任HPE GD China DevOps & Agile Leader,帮助企业级客户提供DevOps咨询培训以及实施指导。熟悉通信和金融领域,有超过十年金融外汇行业的架构设计、开发、维护经验,在十几年的IT从业生涯中拥有了软件开发设计领域接近全生命周期的经验和知识积累,著有企业级DevOps技术与工具实战。
    转载请注明原文地址: https://ju.6miu.com/read-659289.html

    最新回复(0)