首页下载资源后端go 语言编写的简易框架

ZIPgo 语言编写的简易框架

t63104864864.52KB需要积分:1

资源文件列表:

go_pay.zip 大约有191个文件
  1. go_pay/resource/config.yaml 119B
  2. go_pay/
  3. go_pay/.git/
  4. go_pay/.git/COMMIT_EDITMSG 7B
  5. go_pay/.git/HEAD 23B
  6. go_pay/.git/config 130B
  7. go_pay/.git/description 73B
  8. go_pay/.git/hooks/
  9. go_pay/.git/hooks/applypatch-msg.sample 478B
  10. go_pay/.git/hooks/commit-msg.sample 896B
  11. go_pay/.git/hooks/fsmonitor-watchman.sample 4.62KB
  12. go_pay/.git/hooks/post-update.sample 189B
  13. go_pay/.git/hooks/pre-applypatch.sample 424B
  14. go_pay/.git/hooks/pre-commit.sample 1.6KB
  15. go_pay/.git/hooks/pre-merge-commit.sample 416B
  16. go_pay/.git/hooks/pre-push.sample 1.34KB
  17. go_pay/.git/hooks/pre-rebase.sample 4.78KB
  18. go_pay/.git/hooks/pre-receive.sample 544B
  19. go_pay/.git/hooks/prepare-commit-msg.sample 1.46KB
  20. go_pay/.git/hooks/push-to-checkout.sample 2.72KB
  21. go_pay/.git/hooks/update.sample 3.56KB
  22. go_pay/.git/index 1.38KB
  23. go_pay/.git/info/
  24. go_pay/.git/info/exclude 240B
  25. go_pay/.git/logs/
  26. go_pay/.git/logs/HEAD 154B
  27. go_pay/.git/logs/refs/
  28. go_pay/.git/logs/refs/heads/
  29. go_pay/.git/logs/refs/heads/master 154B
  30. go_pay/.git/objects/
  31. go_pay/.git/objects/0e/
  32. go_pay/.git/objects/0e/efe328ab09916b90d7b29ba5c35396c977403c 112B
  33. go_pay/.git/objects/13/
  34. go_pay/.git/objects/13/566b81b018ad684f3a35fee301741b2734c8f4 141B
  35. go_pay/.git/objects/1c/
  36. go_pay/.git/objects/1c/53635f93d5bee2501e1aeeaa7966b20ce3d0aa 527B
  37. go_pay/.git/objects/23/
  38. go_pay/.git/objects/23/568ce02ee9ccc21026316022dd10be26510996 239B
  39. go_pay/.git/objects/29/
  40. go_pay/.git/objects/29/c67ae17fdc9fb51d0558fb9751b4ca534ae28a 309B
  41. go_pay/.git/objects/2d/
  42. go_pay/.git/objects/2d/35af136296fb470b37ebdc9600e80256d8e94d 84B
  43. go_pay/.git/objects/2f/
  44. go_pay/.git/objects/2f/67df6507dac63d787b3adaf8032c09182e99ae 102B
  45. go_pay/.git/objects/35/
  46. go_pay/.git/objects/35/0c4bfe14c0f1a24e7e51c37210a6d98de1ceda 270B
  47. go_pay/.git/objects/35/7bbc770c898ceec361c59130bd0d69cdc93525 114B
  48. go_pay/.git/objects/36/
  49. go_pay/.git/objects/36/3114705e4f05b97bf78951e4b178f283fbf4bc 319B
  50. go_pay/.git/objects/42/
  51. go_pay/.git/objects/42/7a9d6fa30430dad1d1b8a64b30e2ec13e1715e 52B
  52. go_pay/.git/objects/47/
  53. go_pay/.git/objects/47/1ee16118a6ef931b33e59ddf57442865c8bd39 1.04KB
  54. go_pay/.git/objects/4a/
  55. go_pay/.git/objects/4a/6a8c00131adc188c742cc69aa28ce2af9d6e03 105B
  56. go_pay/.git/objects/4f/
  57. go_pay/.git/objects/4f/07df4493e8510930d2d3223d822fbe9bb86be4 276B
  58. go_pay/.git/objects/50/
  59. go_pay/.git/objects/50/90ee9744556865b146250351eeb0b457de5341 436B
  60. go_pay/.git/objects/63/
  61. go_pay/.git/objects/63/6bab89ae8a651aeb1a2f2ce0b4b7354fa135e8 33B
  62. go_pay/.git/objects/63/9900d13c6182e452e33a3bd638e70a0146c785 151B
  63. go_pay/.git/objects/77/
  64. go_pay/.git/objects/77/8f64ec17cd4fd767e18d43231361d3aff70366 28B
  65. go_pay/.git/objects/78/
  66. go_pay/.git/objects/78/ffb27a52df4fff7b2ba883a2ec05428d859308 45B
  67. go_pay/.git/objects/7b/
  68. go_pay/.git/objects/7b/03f0c314098334696c09b66a7dea4f7a58286e 294B
  69. go_pay/.git/objects/7d/
  70. go_pay/.git/objects/7d/a9ef4eaeb33269194a31cf236471f594d8d607 186B
  71. go_pay/.git/objects/7e/
  72. go_pay/.git/objects/7e/f135b39842a1ab4995e26095ff56e4a0b9d058 31B
  73. go_pay/.git/objects/8f/
  74. go_pay/.git/objects/8f/0eadb63778023c4537626a4b39caf98295c988 30B
  75. go_pay/.git/objects/90/
  76. go_pay/.git/objects/90/c66f6273f1a95f0c014b24d9aeb2c0b7532172 31B
  77. go_pay/.git/objects/94/
  78. go_pay/.git/objects/94/a25f7f4cb416c083d265558da75d457237d671 155B
  79. go_pay/.git/objects/97/
  80. go_pay/.git/objects/97/c934408475e44c441889718b071e9c2e740cd2 161B
  81. go_pay/.git/objects/bb/
  82. go_pay/.git/objects/bb/807c20663504b4d05ebdb7da804e285e78ba3d 182B
  83. go_pay/.git/objects/c4/
  84. go_pay/.git/objects/c4/b8fe4a4ae98d11aa303ca36c84567ad81233d0 191B
  85. go_pay/.git/objects/c7/
  86. go_pay/.git/objects/c7/ca599f8891f89b9833f64762eb03c34b59895c 113B
  87. go_pay/.git/objects/ce/
  88. go_pay/.git/objects/ce/7332b63d5e761e901d0497ad716c91952bb1ac 1.05KB
  89. go_pay/.git/objects/d9/
  90. go_pay/.git/objects/d9/12156bec00a9f00850ab2ec3a3baf1016c2141 31B
  91. go_pay/.git/objects/e6/
  92. go_pay/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 15B
  93. go_pay/.git/objects/f0/
  94. go_pay/.git/objects/f0/c7708cabbf7bd718cca9b05d9b22d6cb6ea07d 137B
  95. go_pay/.git/objects/info/
  96. go_pay/.git/objects/pack/
  97. go_pay/.git/refs/
  98. go_pay/.git/refs/heads/
  99. go_pay/.git/refs/heads/master 41B
  100. go_pay/.git/refs/tags/
  101. go_pay/.idea/
  102. go_pay/.idea/.gitignore 184B
  103. go_pay/.idea/compiler.xml 184B
  104. go_pay/.idea/git_toolbox_prj.xml 494B
  105. go_pay/.idea/inspectionProfiles/
  106. go_pay/.idea/inspectionProfiles/profiles_settings.xml 128B
  107. go_pay/.idea/misc.xml 177B
  108. go_pay/.idea/modules.xml 259B
  109. go_pay/.idea/sonarlint/
  110. go_pay/.idea/sonarlint/issuestore/
  111. go_pay/.idea/sonarlint/issuestore/0/
  112. go_pay/.idea/sonarlint/issuestore/0/3/
  113. go_pay/.idea/sonarlint/issuestore/0/3/0308b8f78a8b297c4cfdfd4e131c9e2b9031939c
  114. go_pay/.idea/sonarlint/issuestore/3/
  115. go_pay/.idea/sonarlint/issuestore/3/3/
  116. go_pay/.idea/sonarlint/issuestore/3/3/336e6d5406c6157be464732bcacfb3f15d9db671
  117. go_pay/.idea/sonarlint/issuestore/5/
  118. go_pay/.idea/sonarlint/issuestore/5/a/
  119. go_pay/.idea/sonarlint/issuestore/5/a/5aa1ac64de2b0c4821af9393b44965020e4a521d
  120. go_pay/.idea/sonarlint/issuestore/5/e/
  121. go_pay/.idea/sonarlint/issuestore/5/e/5e78a63356a12803a412d589f488e53db4d7fc4e
  122. go_pay/.idea/sonarlint/issuestore/9/
  123. go_pay/.idea/sonarlint/issuestore/9/3/
  124. go_pay/.idea/sonarlint/issuestore/9/3/93310a20c22640d80343161f98be28beb14eb4e9
  125. go_pay/.idea/sonarlint/issuestore/a/
  126. go_pay/.idea/sonarlint/issuestore/a/1/
  127. go_pay/.idea/sonarlint/issuestore/a/1/a1a7c2bebca63721bde2a03388e10dbea4fddc73
  128. go_pay/.idea/sonarlint/issuestore/b/
  129. go_pay/.idea/sonarlint/issuestore/b/5/
  130. go_pay/.idea/sonarlint/issuestore/b/5/b5106b5f3da7575c9a8cb306418c20825103a4fe
  131. go_pay/.idea/sonarlint/issuestore/c/
  132. go_pay/.idea/sonarlint/issuestore/c/4/
  133. go_pay/.idea/sonarlint/issuestore/c/4/c47645c391ad0571c40779079363c9d48412e18b
  134. go_pay/.idea/sonarlint/issuestore/c/f/
  135. go_pay/.idea/sonarlint/issuestore/c/f/cf73bbc31f478dbb894254b062c6cccf1502f0ff
  136. go_pay/.idea/sonarlint/issuestore/e/
  137. go_pay/.idea/sonarlint/issuestore/e/8/
  138. go_pay/.idea/sonarlint/issuestore/e/8/e8e7a8667e542b64f496490347f312a15b26061a
  139. go_pay/.idea/sonarlint/issuestore/index.pb 647B
  140. go_pay/.idea/sonarlint/securityhotspotstore/
  141. go_pay/.idea/sonarlint/securityhotspotstore/0/
  142. go_pay/.idea/sonarlint/securityhotspotstore/0/3/
  143. go_pay/.idea/sonarlint/securityhotspotstore/0/3/0308b8f78a8b297c4cfdfd4e131c9e2b9031939c
  144. go_pay/.idea/sonarlint/securityhotspotstore/3/
  145. go_pay/.idea/sonarlint/securityhotspotstore/3/3/
  146. go_pay/.idea/sonarlint/securityhotspotstore/3/3/336e6d5406c6157be464732bcacfb3f15d9db671
  147. go_pay/.idea/sonarlint/securityhotspotstore/5/
  148. go_pay/.idea/sonarlint/securityhotspotstore/5/a/
  149. go_pay/.idea/sonarlint/securityhotspotstore/5/a/5aa1ac64de2b0c4821af9393b44965020e4a521d
  150. go_pay/.idea/sonarlint/securityhotspotstore/5/e/
  151. go_pay/.idea/sonarlint/securityhotspotstore/5/e/5e78a63356a12803a412d589f488e53db4d7fc4e
  152. go_pay/.idea/sonarlint/securityhotspotstore/9/
  153. go_pay/.idea/sonarlint/securityhotspotstore/9/3/
  154. go_pay/.idea/sonarlint/securityhotspotstore/9/3/93310a20c22640d80343161f98be28beb14eb4e9
  155. go_pay/.idea/sonarlint/securityhotspotstore/a/
  156. go_pay/.idea/sonarlint/securityhotspotstore/a/1/
  157. go_pay/.idea/sonarlint/securityhotspotstore/a/1/a1a7c2bebca63721bde2a03388e10dbea4fddc73
  158. go_pay/.idea/sonarlint/securityhotspotstore/b/
  159. go_pay/.idea/sonarlint/securityhotspotstore/b/5/
  160. go_pay/.idea/sonarlint/securityhotspotstore/b/5/b5106b5f3da7575c9a8cb306418c20825103a4fe
  161. go_pay/.idea/sonarlint/securityhotspotstore/c/
  162. go_pay/.idea/sonarlint/securityhotspotstore/c/4/
  163. go_pay/.idea/sonarlint/securityhotspotstore/c/4/c47645c391ad0571c40779079363c9d48412e18b
  164. go_pay/.idea/sonarlint/securityhotspotstore/c/f/
  165. go_pay/.idea/sonarlint/securityhotspotstore/c/f/cf73bbc31f478dbb894254b062c6cccf1502f0ff
  166. go_pay/.idea/sonarlint/securityhotspotstore/e/
  167. go_pay/.idea/sonarlint/securityhotspotstore/e/8/
  168. go_pay/.idea/sonarlint/securityhotspotstore/e/8/e8e7a8667e542b64f496490347f312a15b26061a
  169. go_pay/.idea/sonarlint/securityhotspotstore/index.pb 647B
  170. go_pay/.idea/vcs.xml 185B
  171. go_pay/.idea/workspace.xml 7KB
  172. go_pay/app.log
  173. go_pay/cmd/
  174. go_pay/cmd/main.go 431B
  175. go_pay/config/
  176. go_pay/config/config.go 547B
  177. go_pay/dao/
  178. go_pay/dao/database/
  179. go_pay/dao/database/database.go 902B
  180. go_pay/entity/
  181. go_pay/entity/User.go 120B
  182. go_pay/go.mod 1.05KB
  183. go_pay/go.sum 6.62KB
  184. go_pay/go_pay.iml 484B
  185. go_pay/logger/
  186. go_pay/logger/logger.go 307B
  187. go_pay/resource/
  188. go_pay/router/
  189. go_pay/router/router.go 255B
  190. go_pay/service/
  191. go_pay/service/handler.go 2.65KB

资源介绍:

简易的Go语言开发框架可以帮助你快速启动一个项目,并且提供基础的功能结构。以下是一个基础的Go语言开发框架的结构,包含一些常见的组件如路由、配置、日志和数据库连接首先,定义你的项目的目录结构:my-go-project/ │ ├── cmd/ │ └── main.go # 主程序入口 ├── config/ │ └── config.go # 配置文件加载 ├── internal/ │ ├── api/ │ │ └── handler.go # API 路由和处理 │ ├── models/ │ │ └── user.go # 数据模型 │ ├── service/ │ │ └── user_service.go # 业务逻辑层 │ └── repository/ │ └── user_repo.go # 数据库操作层 ├── dao/ │ ├── database/ │ │ └── database.go # 数据库连接 │ ├──
package service import ( "database/sql" "encoding/json" "go_pay/dao/database" "go_pay/entity" "log" "net/http" ) var db *sql.DB // Initialize 设置数据库连接 func Initialize() { db = database.GetDB() if db == nil { log.Fatal("Database not initialized") } } // handleError 是一个公共的错误处理函数 func handleError(w http.ResponseWriter, statusCode int, message string, err error) { http.Error(w, message, statusCode) if err != nil { log.Printf("%s: %v", message, err) } } // GetUsers retrieves a list of users from the database func GetUsers(w http.ResponseWriter, r *http.Request) { if db == nil { http.Error(w, "Database not initialized", http.StatusInternalServerError) return } users := []entity.User{} rows, err := db.Query("SELECT id, name, email FROM user") if err != nil { http.Error(w, "Failed to retrieve users", http.StatusInternalServerError) log.Printf("Failed to retrieve users: %v", err) return } defer rows.Close() for rows.Next() { var user entity.User if err := rows.Scan(&user.ID, &user.Name, &user.Email); err != nil { http.Error(w, "Failed to scan user data", http.StatusInternalServerError) log.Printf("Failed to scan user data: %v", err) return } users = append(users, user) } if err = rows.Err(); err != nil { http.Error(w, "Error occurred during row iteration", http.StatusInternalServerError) log.Printf("Error occurred during row iteration: %v", err) return } w.Header().Set("Content-Type", "application/json") if err := json.NewEncoder(w).Encode(users); err != nil { http.Error(w, "Failed to encode users data", http.StatusInternalServerError) log.Printf("Failed to encode users data: %v", err) } } // CreateUser 插入新用户并返回创建的用户数据 func CreateUser(w http.ResponseWriter, r *http.Request) { if db == nil { handleError(w, http.StatusInternalServerError, "Database not initialized", nil) return } var user entity.User if err := json.NewDecoder(r.Body).Decode(&user); err != nil { handleError(w, http.StatusBadRequest, "Invalid request payload", err) return } query := "INSERT INTO user (name, email) VALUES (?, ?)" result, err := db.Exec(query, user.Name, user.Email) if err != nil { handleError(w, http.StatusInternalServerError, "Failed to create user", err) return } id, err := result.LastInsertId() if err != nil { handleError(w, http.StatusInternalServerError, "Failed to retrieve last insert ID", err) return } user.ID = int(id) w.Header().Set("Content-Type", "application/json") if err := json.NewEncoder(w).Encode(user); err != nil { handleError(w, http.StatusInternalServerError, "Failed to encode user data", err) } }
100+评论
captcha