{{end}}
`
代码说明
main 之前的代码应该比较容易理解。我们通过一个常量为服务器设置了默认端口。 模板变量 templ 正式有趣的地方。它构建的HTML模版将会被服务器执行并显示在页面中。 稍后我们将详细讨论。
main 函数解析了参数标志并使用我们讨论过的机制将 helloworld 函数绑定到服务器的根路径。然后调用 http.ListenAndServe 启动服务器;它将在服务器运行时处于阻塞状态。
helloworld 仅接受包含表单数据的请求,并为表单值 s 中的数据执行模板。
模板包 html/template 非常强大;该程序只是浅尝辄止。 本质上,它通过在运行时将数据项中提取的元素(在这里是表单值)传给 templ.Execute 执行因而重写了HTML文本。 在模板文本( templateStr )中,双大括号界定的文本表示模板的动作。 从 {{if .}} 到 {{end}} 的代码段仅在当前数据项(这里是点 . )的值非空时才会执行。 也就是说,当字符串为空时,此部分模板段会被忽略。
其中两段 {{.}} 表示要将数据显示在模板中 (即将查询字符串显示在Web页面上)。HTML模板包将自动对文本进行转义, 因此文本的显示是安全的。
余下的模板字符串只是页面加载时将要显示的HTML。如果这段解释你无法理解,请参考 文档 获得更多有关模板包的解释。
你终于如愿以偿了:以几行代码实现的,包含一些数据驱动的HTML文本的Web服务器。 Go语言强大到能让很多事情以短小精悍的方式解决。
步骤 4. 本地编译运行访问
你可以通过在命令行窗口执行命令:go install web1 来完成编译,编译完成后会在 C:\Go\bin 目录下生成web1的exe。
通过上面的方法编译后,双击运行即可。
也可以在命令行下切换到文件所在的目录,例如:C:\Go\src\web1
然后执行:go run web1.go
这时可能会弹出Windows防火墙的安全提示,点击允许访问即可。
在浏览器中访问,查看效果,打开浏览器,输入: http://localhost:8080/ ,
在文本框中输入一个URL,如(http://blog.csdn.net/testcs_dn),点击Show QR,会生成一张二维码的图片
扫一扫这张二维码看看吧
步骤 5. 上传应用程序
登录到 Bluemix™ 后,可以使用 cf push 命令来上传应用程序。
开始之前,您必须:
1、安装 Cloud Foundry 命令行界面。
请根据自己使用的操作系统下载对应的版本;我使用的是Windows 7 64位操作系统,
下载 Binaries 版本的不需要安装, 直接解压到Windows目录就可以了 。
以下执行的命令你可以通过访问 https://www.ng.bluemix.net/docs/#starters/upload_app.html#upload_app__push
查看属于自己的命令;
2、连接到 Bluemix 。
打开命令提示符窗口:开始》运行,输入“cmd”,回车
执行:cf api https://api.ng.bluemix.net,如下图:
3、登录到 Bluemix 。
注意,这里要换成对应你自己账户的命令!
cf login -u [email protected] -o [email protected] -s ivu4e
4、发出 cf push 命令时, cf 命令行界面将提供使用 buildpack 来构建并运行应用程序的 Bluemix 环境的工作目录。
从应用程序目录中,输入带有应用程序名称的 cf push 命令。在 Bluemix 环境中,应用程序名称必须是唯一的。
后面的"-m 512m"是修改应用程序内存配额的,可以不带这个参数,如下图: