转载请注明出处:
创建的项目名称为: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
进入到项目的目录结构下面,使用 go build -o project_name.exe ,进行编译和打包项目
go build -o go_web_test1.exe
运行这个命令之后,会生成一个 对应的 exe 文件,在windows 上双击就可以运行该程序了。
由于在项目的main.go 中定义了一个最基本的接口路由处理,服务启动之后,访问该api:
可以看到调用该api后返回的接口数据:hello ,world
将刚刚编写的go_web_test1 项目代码上传到linux,并删掉在windows 编译的 exe文件,在linux上通过go build 进行重新编译。
go build
在linux上执行之后生成了一个 项目名称对应的二进制文件,当在Linux上使用go build
命令编译Go Web项目时,默认情况下会生成一个名为与包名相同的可执行文件,没有文件扩展名。这个文件就是一个可执行的二进制文件,它包含了Go程序的机器码和相关的元数据。
通过 ./go_web_test 就可以启动,
进行接口调试: