1. 程式人生 > >go語言快速入門:Web應用的HelloWorld(11)

go語言快速入門:Web應用的HelloWorld(11)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

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);    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

所以很容易看出來,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…”

[[email protected] 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)}[[email protected] goprj]#
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

執行結果

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

畫面確認

這個只有四行的程式非常簡單快速地實現了很多人使用go語言進行開發的第一個Web應用程式。
這裡寫圖片描述

總結

通過go語言的一個簡單的Web應用的實現,彷彿能看到Spring Boot的RequestMapping註解的go語言實現版。瞭解函式和函式指標的C特點的開發者知道,這種關聯的實現也並不困難,而go使用http包中的http.HandleFunc與之和實現進行關聯,使得使用go進行RESTful的開發也將會非常方便和快捷。而且它都不需要一個內嵌的應用伺服器,因為go語言與底層的親和性以及標準包的強大,在ListenAndServe中設定埠即可。

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述