vscode直接运行提示找不到路径,但是mac terminal就可以直接运行
1、vscode右键运行
[Running]
go run “/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/main.go”
src/miaosha_project/test/main.go:6:2: no required module provides package github.com/kataras/iris/v12: go.mod file not found in current directory or any parent directory; see ‘go help modules’
2、直接用mac terminal运行
go run “/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/main.go”
yuze@yuze-dev miaosha_project $ go run "/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/ma
in.go"
Now listening on: http://localhost:8080
Application started. Press CMD+C to shut down.
路径都是存在的,非常奇怪,怀疑是不是vscode哪里配置有问题,导致go run的时候找到了别的目录去了
../../pkg/mod/github.com/kataras/iris/v12\@v12.1.8/
setting.json里面也有两个目录
"go.gopath": "/Users/yuze/Documents/dev_fun/gofun",
"go.goroot": "/usr/local/go",
代码用的是最简单的iris样例
//server.go
package main
import (
"github.com/kataras/iris/v12"
)
func main() {
app := iris.New()
//输出html
// 请求方式: GET
// 访问地址: http://localhost:8080/welcome
app.Handle("GET", "/welcome", func(ctx iris.Context) {
// ctx.HTML返回一个html页面,
ctx.HTML("<h1>Welcome</h1>")
})
//输出字符串
// 类似于 app.Handle("GET", "/ping", [...])
// 请求方式: GET
// 请求地址: http://localhost:8080/ping
app.Get("/ping", func(ctx iris.Context) {
// ctx.WriteString将向请求方返回一个字符串
ctx.WriteString("pong")
})
//输出json
// 请求方式: GET
// 请求地址: http://localhost:8080/hello
app.Get("/hello", func(ctx iris.Context) {
// ctx表示返回的结果,ctx.JSON即为返回一个json字符串
ctx.JSON(iris.Map{"message": "Hello Iris!"})
})
app.Run(iris.Addr(":8080")) //8080 监听端口
}