2.创建wechatpaygolang项目,并完成Hello,World

第一个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 main

  • golang开发的模块概念为package,调用函数的方式为packagenamge.funcname()

为了方便,我们我们都会以package packagename的称呼方式来是说明我们的使用的package为packagename,对应的文件代码我们都会放在对应的packagename文件夹下

比方说创建package helloworld,就表示我们需要在项目wechatpaygolang下,创建一个helloworld文件夹,里面的go文件包名都为package helloworld,如图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值