网库网(www.wangkuwang.com)精品网站源码,织梦建站模版,游戏源代码分享平台

模板户源码

当前位置:首页 -> CMS教程 -> dede教程 正文

神奇的go语言(开始篇)

时间:2019-03-10 11:00:41 [整站源码]作者:zhaopulei


Golang语言社区

从前接触脚本语言不多,但是自从遇到go之后,就开始慢慢喜欢上了这个脚本语言。go语言是google设计,主要用来从事web、服务器侧程序的开发,学习起点低。一般熟练掌握C、Python的朋友花上几个小时就可以学会go语言。


a) 安装环境


    鉴于个人主要使用linux进行工作,所以这里介绍的都是linux下的安装方式。

    centos: sudo yum install golang

    ubuntu: sudo apt-get install golang


b) 学习资源


    本来学习go语言,最好的学习环境应该是官方网站,但是由于GFW的原因,访问上还是有一定的困难。所以,建议大家可以访问一下coolshell.cn网站,上面有go语言的内容,分别是个go语言(上)、go语言(下)。


c) 书籍


    无论是亚马逊、当当还是京东上面,关于go语言的书籍不是很多。但是有两本我觉得还是不错的,一本是谢孟军的《go web编程》,另外一本是许式伟的《go 语言编程》。


d) 编译方法


    如果需要生成执行文件,输入go build name.go, 其中name.go表示你需要编译的那个文件名,这时会有一个执行文件生成。

    如果你需要立即看到效果,输入go run name.go即可。


e)范例

    e.1 add.go

[cpp] view plain copy 

  1. package main  

  2.   

  3. import "fmt"  

  4.   

  5. func add(a int, b int)(c int) {  

  6.   

  7.         c =  a + b  

  8.         return c  

  9. }  

  10.   

  11.   

  12. func main() {  

  13.   

  14.         c := add(1 ,2)  

  15.         fmt.Println(c)  

  16.   

  17. }  

    直接输入go run add.go就可以打印效果了。



    e.2 简单web服务器

[cpp] view plain copy 

  1. package main  

  2.   

  3. import (  

  4.         "fmt"  

  5.         "net/http"  

  6. )  

  7.   

  8.   

  9. func sayHelloName(w http.ResponseWriter, r *http.Request) {  

  10.   

  11.         fmt.Fprintf(w, "hello, world")  

  12. }  

  13.   

  14. func main() {  

  15.   

  16.         http.HandleFunc("/", sayHelloName)  

  17.         http.ListenAndServe(":9090", nil)  

  18.   

  19. }  

    这时一个简单的web服务器,首先go run hello.go之后,打开os下的一个browser,输入http://127.0.0.1:9090,你就会在网页上看到web的打印了。 


    e.3 带有表单处理的web服务器


[cpp] view plain copy 

  1. package main  

  2.   

  3. import (  

  4.   

  5.         "fmt"  

  6.         "html/template"  

  7.         "net/http"  

  8. )  

  9.   

  10. func sayHelloName(w http.ResponseWriter, r* http.Request) {  

  11.   

  12.         fmt.Fprintf(w, "hello, world")  

  13. }  

  14.   

  15.   

  16. func login(w http.ResponseWriter, r* http.Request) {  

  17.   

  18.         if r.Method == "GET" {  

  19.   

  20.                 t, _ := template.ParseFiles("login.gtpl");  

  21.                 t.Execute(w, nil)  

  22.         } else {  

  23.   

  24.                 r.ParseForm()  

  25.                 fmt.Println("username:", r.Form["username"])  

  26.                 fmt.Println("password", r.Form["password"])  

  27.   

  28.         }  

  29.   

  30. }  

  31.   

  32.   

  33. func main() {  

  34.   

  35.         http.HandleFunc("/", sayHelloName)  

  36.         http.HandleFunc("/login", login)  

  37.         http.ListenAndServe(":9090", nil)  

  38. }  

    上面给出的只是代码内容,你还需要一个login.gtpl模板文件,



[html] view plain copy 

  1. <html>  

  2. <head>  

  3. <title> </title>  

  4. </head>  

  5.   

  6. <body>  

  7. <form action="http://127.0.0.1:9090/login" method="post">  

  8.         user: <input type="text" name ="username">  

  9.         pass: <input type="password" name="password">  

  10.         <input type="submit" value="login">  

  11. </form>  

  12. </body>  

  13. </html>  

    运行go代码之后,试着在浏览器下输入127.0.0.1:9090和127.0.0.1:9090/login,你会有不同的惊喜。 


    发送中

    本文标签:AutoTags插件服务端需要您提供购买者的账号和密码才能继续访问  折翼天使  莎莎源码  吾爱源码  其他源码 

    转载请注明来源:PHP手机端发卡多种支付商业版源码

    本文永久链接地址:https://www.suibianlu.com/11942.html

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
    若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法链接失效或侵犯版权,请给我们来信:admin@suibianlu.com

    栏目导航
    最新文章
    热门文章
    Top