欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Gin 框架官方文档 01:创建简单的 Gin 应用程序

最编程 2024-10-15 06:57:56
...
package main import ( "fmt" "os" "os/exec" ) func main() { // 定义文件夹名称 folderNames := []string{ "开始", "AsciiJSON", "HTML渲染", "HTTP2server推送", "JSONP", "Multipart_Urlencoded绑定", "Multipart_Urlencoded表单", "PureJSON", "Query和post_form", "SecureJSON", "XML_JSON_YAML_ProtoBuf渲染", "安全页眉", "绑定HTML复选框", "绑定Uri", "绑定表单数据至自定义结构体", "绑定查询字符串或表单数据", "不使用默认的中间件", "查询字符串参数", "从reader读取数据", "定义路由日志的格式", "多模板", "将request_body绑定到不同的结构体中", "静态文件服务", "静态资源嵌入", "控制日志输出颜色", "路由参数", "路由组", "模型绑定和验证", "如何记录日志", "上传文件", "设置和获取Cookie", "使用BasicAuth中间件", "使用HTTP方法", "使用中间件", "映射查询字符串或表单参数", "优雅地重启或停止", "运行多个服务", "在中间件中使用Goroutine", "支持Let'sEncrypt", "只绑定url查询字符串", "重定向", "自定义HTTP配置", "自定义日志文件", "自定义验证器", "自定义中间件", "测试", } // 创建文件夹并初始化 Go 模块 for i, name := range folderNames { // 生成文件夹名称 folderName := fmt.Sprintf("%02d%s", i+1, name) // 创建文件夹 err := os.Mkdir(folderName, os.ModePerm) if err != nil { fmt.Printf("创建文件夹 %s 失败: %v\n", folderName, err) continue } // 切换到新创建的文件夹 err = os.Chdir(folderName) if err != nil { fmt.Printf("切换到文件夹 %s 失败: %v\n", folderName, err) continue } // 初始化 Go 模块,模块名仅为序号 modName := fmt.Sprintf("%02d", i+1) cmd := exec.Command("go", "mod", "init", modName) if err := cmd.Run(); err != nil { fmt.Printf("初始化模块 %s 失败: %v\n", modName, err) } else { fmt.Printf("成功创建文件夹 %s 并初始化模块 %s\n", folderName, modName) } // 切换回原始目录 os.Chdir("..") } // 初始化工作区并添加所有项目 cmd := exec.Command("go", "work", "init") out, err := cmd.CombinedOutput() // 捕获输出 if err != nil { fmt.Printf("初始化工作区失败: %v\n输出: %s\n", err, out) return } // 添加所有项目到工作区 for i := range folderNames { folderName := fmt.Sprintf("%02d%s", i+1, folderNames[i]) cmd = exec.Command("go", "work", "use", folderName) if err := cmd.Run(); err != nil { fmt.Printf("添加 %s 到工作区失败: %v\n", folderName, err) } else { fmt.Printf("成功将 %s 添加到工作区\n", folderName) } } }