首页 > 其他 > 详细

Go 学习笔记(一)

时间:2016-08-05 22:58:37      阅读:324      评论:0      收藏:0      [点我收藏+]

随着Go的应用越来越火热,自己也终于开始学习了。平时经常用C,看着Go还是比较亲切的。好了,开始。

 

今天主要是按照树上的内容自己简单的实践了下最基本的输出,以及网页功能,上代码:

1 package main
2 
3 import (
4     "fmt"
5 )
6 
7 func main() {
8     fmt.Printf("Hello world\n")
9 }

加法运算代码:

 1 package main
 2 
 3 import (
 4     "fmt"
 5 )
 6 
 7 func add(a int,b int)(c int){
 8     c= a+b
 9     return c
10 }
11 
12 
13 func main() {
14     c:=add(1,2)
15     fmt.Println(c)
16 }

网页“Hello world”代码:

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "net/http"
 6 )
 7 func sayHelloName(w http.ResponseWriter,r *http.Request){
 8     fmt.Fprintf(w,"hello,world")
 9 
10 }
11 
12 func main() {
13 
14     http.HandleFunc("/",sayHelloName)
15 }

登录截图:

技术分享

 

网页登录代码:

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "html/template"
 6     "net/http"
 7     "log"
 8 )
 9 
10 func login(w http.ResponseWriter,r* http.Request){
11 
12     fmt.Println("method:", r.Method)
13     if r.Method == "GET"{
14         t,_:=template.ParseFiles("/Users/mac/IdeaProjects/go1/login.gtpl")
15         t.Execute(w,nil)
16     }else{
17         r.ParseForm()
18         fmt.Println("username:",r.Form["username"])
19         fmt.Println("password",r.Form["password"])
20     }
21 }
22 
23 func main() {
24     http.HandleFunc("/login",login)
25     err:=http.ListenAndServe(":9090",nil)
26     if err != nil {
27         log.Fatal("ListenAndServe: ", err)
28     }
29 }

运行结果截图:

技术分享

consle截图:

技术分享

 

这里需要注意的是,程序在Mac环境下,网页模板路径需要使用绝对路径“/Users/mac/IdeaProjects/go1/login.gtpl” ,不然会报如下错误:

runtime error: invalid memory address or nil pointer dereference goroutine 5 

 

 

 

Go 学习笔记(一)

原文:http://www.cnblogs.com/ibyte/p/5742940.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!