go语言快速入门:Web应用的HelloWorld(11)
发布日期:2021-06-30 20:24:14 浏览次数:2 分类:技术文章

本文共 1501 字,大约阅读时间需要 5 分钟。

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

Spring Boot

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

@RestController@SpringBootApplicationpublic 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
入门实例

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.gopackage mainimport "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中设定端口即可。

转载地址:https://liumiaocn.blog.csdn.net/article/details/54878953 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:go语言快速入门:template模板(12)
下一篇:go语言快速入门:Web开发框架(10)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月17日 19时30分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章