码迷,mamicode.com
首页 > 其他好文 > 详细

Go 学习笔记(一)

时间:2016-08-05 23:01:01      阅读:164      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!