转载请注明出处:

1.通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类

  创建的项目名称为:go_web_test1,  main.go 中代码如下:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

  最基础的web的目录结构和代码如下:

             

  注意事项,main.go 中的package 必须为 package main,程序才能运行。

  如果不是package main,在编译启动程序时报错:package command-line-arguments is not a main package

2.在windows下编译发布启动

  进入到项目的目录结构下面,使用 go build -o project_name.exe  ,进行编译和打包项目

go build -o go_web_test1.exe

  运行这个命令之后,会生成一个 对应的 exe 文件,在windows 上双击就可以运行该程序了。

  由于在项目的main.go 中定义了一个最基本的接口路由处理,服务启动之后,访问该api:

                  

   可以看到调用该api后返回的接口数据:hello ,world

3.在linux环境下编译发布启动

  将刚刚编写的go_web_test1 项目代码上传到linux,并删掉在windows 编译的 exe文件,在linux上通过go build 进行重新编译。  

go build

  在linux上执行之后生成了一个 项目名称对应的二进制文件,当在Linux上使用go build命令编译Go Web项目时,默认情况下会生成一个名为与包名相同的可执行文件,没有文件扩展名。这个文件就是一个可执行的二进制文件,它包含了Go程序的机器码和相关的元数据。

               

   通过 ./go_web_test 就可以启动,

             

   进行接口调试: