转载请注明出处:
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) }
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 就可以启动,
进行接口调试:
标签: GO