{{end}}
`
代碼說明
main 之前的代碼應該比較容易理解。我們通過一個常量為服務器設置了默認端口。 模板變量 templ 正式有趣的地方。它構建的HTML模版將會被服務器執(zhí)行并顯示在頁面中。 稍后我們將詳細討論。
main 函數(shù)解析了參數(shù)標志并使用我們討論過的機制將 helloworld 函數(shù)綁定到服務器的根路徑。然后調(diào)用 http.ListenAndServe 啟動服務器;它將在服務器運行時處于阻塞狀態(tài)。
helloworld 僅接受包含表單數(shù)據(jù)的請求,并為表單值 s 中的數(shù)據(jù)執(zhí)行模板。
模板包 html/template 非常強大;該程序只是淺嘗輒止。 本質(zhì)上,它通過在運行時將數(shù)據(jù)項中提取的元素(在這里是表單值)傳給 templ.Execute 執(zhí)行因而重寫了HTML文本。 在模板文本( templateStr )中,雙大括號界定的文本表示模板的動作。 從 {{if .}} 到 {{end}} 的代碼段僅在當前數(shù)據(jù)項(這里是點 . )的值非空時才會執(zhí)行。 也就是說,當字符串為空時,此部分模板段會被忽略。
其中兩段 {{.}} 表示要將數(shù)據(jù)顯示在模板中 (即將查詢字符串顯示在Web頁面上)。HTML模板包將自動對文本進行轉(zhuǎn)義, 因此文本的顯示是安全的。
余下的模板字符串只是頁面加載時將要顯示的HTML。如果這段解釋你無法理解,請參考 文檔 獲得更多有關模板包的解釋。
你終于如愿以償了:以幾行代碼實現(xiàn)的,包含一些數(shù)據(jù)驅(qū)動的HTML文本的Web服務器。 Go語言強大到能讓很多事情以短小精悍的方式解決。
步驟 4. 本地編譯運行訪問
你可以通過在命令行窗口執(zhí)行命令:go install web1 來完成編譯,編譯完成后會在 C:\Go\bin 目錄下生成web1的exe。
通過上面的方法編譯后,雙擊運行即可。
也可以在命令行下切換到文件所在的目錄,例如:C:\Go\src\web1
然后執(zhí)行:go run web1.go
這時可能會彈出Windows防火墻的安全提示,點擊允許訪問即可。
在瀏覽器中訪問,查看效果,打開瀏覽器,輸入: http://localhost:8080/ ,
在文本框中輸入一個URL,如(http://blog.csdn.net/testcs_dn),點擊Show QR,會生成一張二維碼的圖片

掃一掃這張二維碼看看吧
步驟 5. 上傳應用程序
登錄到 Bluemix™ 后,可以使用 cf push 命令來上傳應用程序。
開始之前,您必須:
1、安裝 Cloud Foundry 命令行界面。


請根據(jù)自己使用的操作系統(tǒng)下載對應的版本;我使用的是Windows 7 64位操作系統(tǒng),
下載 Binaries 版本的不需要安裝, 直接解壓到Windows目錄就可以了 。

以下執(zhí)行的命令你可以通過訪問 https://www.ng.bluemix.net/docs/#starters/upload_app.html#upload_app__push
查看屬于自己的命令;
2、連接到 Bluemix 。
打開命令提示符窗口:開始》運行,輸入“cmd”,回車
執(zhí)行:cf api https://api.ng.bluemix.net,如下圖:

3、登錄到 Bluemix 。
注意,這里要換成對應你自己賬戶的命令!
cf login -u [email protected] -o [email protected] -s ivu4e
4、發(fā)出 cf push 命令時, cf 命令行界面將提供使用 buildpack 來構建并運行應用程序的 Bluemix 環(huán)境的工作目錄。
從應用程序目錄中,輸入帶有應用程序名稱的 cf push 命令。在 Bluemix 環(huán)境中,應用程序名稱必須是唯一的。
后面的"-m 512m"是修改應用程序內(nèi)存配額的,可以不帶這個參數(shù),如下圖:
