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

luciswe · · 1782 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

第一个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,如图


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:luciswe

查看原文:2.创建wechatpaygolang项目,并完成Hello,World

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1782 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传