欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

go語言快速入門:Web應(yīng)用的HelloWorld(11) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

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

發(fā)表時間:2017-2-5

發(fā)布人:葵宇科技

瀏覽次數(shù):68

go有很多優(yōu)秀的框架,可以在其基礎(chǔ)之上進行Web開發(fā),非常方便。其實即使不使用框架,go提供的面向web開發(fā)的標準包使用起來進行Web開發(fā)也極為方便。至少第一個Web應(yīng)用的入門HelloWorld,在go中的實現(xiàn)非常簡單。在這篇文章中,我們將簡單與之和Spring Boot開發(fā)作簡單的對比,從中了解一下go的http包的強大功能.

Spring Boot

Spring Boot基于COC的思路,內(nèi)嵌了應(yīng)用服務(wù)器和約定俗成的規(guī)范,使得使用如下簡單的代碼即可實現(xiàn)一個Web應(yīng)用的開發(fā), 極大地簡化開發(fā)的過程.

@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的背后是由關(guān)鍵是注解的關(guān)聯(lián)/IoC的實現(xiàn)保證了開發(fā)的簡單快速。詳細可以參看:

項目URL入門實例http://blog.csdn.net/liumiaocn/article/details/53442364

net/http包

go的net/http包提供了從路由到cookie設(shè)定以及模板文件使用等諸多功能,利用http包可以極其簡單地搭建起來一個可以運行的Web應(yīng)用。接下來,我們將通過實現(xiàn)一個和Spring Boot上述例子一樣的程序,來了解一下go是如何實現(xiàn)的。

例子代碼

為了說明更加簡單,此例未作異常處理等,在這個例子中我們想實現(xiàn)8080端口的/的訪問的對應(yīng)處理,期待輸出“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]#

執(zhí)行結(jié)果

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

畫面確認

這個只有四行的程序非常簡單快速地實現(xiàn)了很多人使用go語言進行開發(fā)的第一個Web應(yīng)用程序。
這里寫圖片描述

總結(jié)

通過go語言的一個簡單的Web應(yīng)用的實現(xiàn),仿佛能看到Spring Boot的RequestMapping注解的go語言實現(xiàn)版。了解函數(shù)和函數(shù)指針的C特點的開發(fā)者知道,這種關(guān)聯(lián)的實現(xiàn)也并不困難,而go使用http包中的http.HandleFunc與之和實現(xiàn)進行關(guān)聯(lián),使得使用go進行RESTful的開發(fā)也將會非常方便和快捷。而且它都不需要一個內(nèi)嵌的應(yīng)用服務(wù)器,因為go語言與底層的親和性以及標準包的強大,在ListenAndServe中設(shè)定端口即可。

淼叔 CSDN認證博客專家 神經(jīng)網(wǎng)絡(luò) TensorFlow NLP 資深架構(gòu)師,PMP、OCP、CSM、HPE University講師,EXIN DevOps Professional與DevOps Master認證講師,曾擔任HPE GD China DevOps & Agile Leader,幫助企業(yè)級客戶提供DevOps咨詢培訓以及實施指導(dǎo)。熟悉通信和金融領(lǐng)域,有超過10年金融外匯行業(yè)的架構(gòu)設(shè)計、開發(fā)、維護經(jīng)驗,在十幾年的IT從業(yè)生涯中擁有了軟件開發(fā)設(shè)計領(lǐng)域接近全生命周期的經(jīng)驗和知識積累。

相關(guān)案例查看更多