第一个Hello,World
本节我们首先完成一个简单的程序,打开localhost/hellowrld,在网页上显示:Hellow,World From Golang!
创建项目wechatpaygolang
我们的GOPATH设置为d:\godev,那么我们就在d:\godev\里面创建wechatpaygolang文件夹,
我们项目wechatpaygolang就算创建了,后面关于该项目的代码都要放在这个里面。
创建main函数
在golang里面,main为入口函数,类似java里面的main函数,所以首先为我们的项目wechatpaygolang实现这个入口
在目录wechatpaygolang下,创建main.go文件,实现一下2个函数
func main():入口函数,实现对网络端口的监听func rout(w http.ResponseWriter, r *http.Request):路由功能,根据不同的url请求进行判断,执行相应的功能package main import ( "fmt" "log" "net/http" ) func rout(w http.ResponseWriter, r *http.Request) { r.ParseForm() path := r.URL.Path fmt.Println(pat) } func main() { fmt.Println("启动服务,监听80端口") http.HandleFunc("/", rout) //设置访问的路由 err := http.ListenAndServe(":80", nil) //设置监听的端口 if err != nil { log.Fatal("ListenAndServe: ", err) } }
到此,我们就完成了一个简单的网页功能,这个程序里面我们会监听80端口,并把对应的url转发到rout函数处理,这里我们先只是把url打印出来
编译并测试
那么我们测试一下,在当前目录下运行命令:go build,我们会看到会在当前目录下生成一个
wechatgolang.exe的可执行文件
在命令行里运行它,然后我们在网页里面打开urllocalhost/helloworld,会看到下面的效果

实现helloworld 包
上面我们只是实现了80端口的监听,并在控制台打印了访问的url,下来实现对url的处理包helloworld,golang中把模块称之为包package,可以和java里面的package一个意思
创建hellworld包,实现:
- 打印出
Hellow,World From golang!
创建文件夹helloworld,在文件加下创建helloworld.go
package helloworld
import (
"fmt"
"net/http"
)
func HelloWorld(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello,World From Golang!")
}
在package helloworld里面,我们实现了函数HelloWord,里面利用http.ResponseWrite向请求方放打印了Hello,World From Golang!,如果我们是用网页访问的该函数,那么这行字就该出现在网页上。
到此我们实现打印了Hello,World From Golang!的package和对应的处理函数,下来我们就要把实现访问localhost/helloword,调用函数,在网页上打印出这行字
实现网页打印Hello,World From Golang!
在第一步package main函数里面我们实现了路由的功能rout函数,那么这里我们就只需要把路由和我们上面实现的函数关联起来,在rout里面增加一个url判断,路由到我们的实现的package里面对应的功能即可
package main
import (
"fmt"
"log"
"net/http"
)
func rout(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
path := r.URL.Path
fmt.Println(path)
if path == "/helloworld" {
fmt.Println("hello world")
helloworld.HelloWorld(w, r)
}
}
func main() {
fmt.Println("启动服务,监听80端口")
http.HandleFunc("/", rout) //设置访问的路由
err := http.ListenAndServe(":80", nil) //设置监听的端口
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
同样运行go build,以命令行的方式运行生成的.exe文件,浏览器里面打开localhost/helloworld,看到效果如下

总结
golang程序的入口为
package main里面的固定函数func maingolang开发的模块概念为package,调用函数的方式为
packagenamge.funcname()
为了方便,我们我们都会以package packagename的称呼方式来是说明我们的使用的package为packagename,对应的文件代码我们都会放在对应的packagename文件夹下
比方说创建package helloworld,就表示我们需要在项目wechatpaygolang下,创建一个helloworld文件夹,里面的go文件包名都为package helloworld,如图

本文介绍如何使用Golang创建一个简单的Web应用,包括环境搭建、监听80端口及实现Hello World网页展示。
3183

被折叠的 条评论
为什么被折叠?



