当前位置: 首页 > news >正文

Golang 小项目(3)

Golang 小项目(3)

前言

本项目适合 Golang 初学者,通过简单的项目实践来加深对 Golang 的基本语法和 Web 开发的理解。
前往 torna.top 免费查阅

项目结构

D:.
├─ go.mod
├─ go.sum
│  
├─cmd
│  └─main
│          main.go
│
└─pkg├─config│      app.go│├─controllers│      book-controller.go│├─models│      book.go│├─routes│      bookstore-routes.go│└─utilsutils.go

项目流程图

  1. 技术栈

在这里插入图片描述

  1. 项目结构

在这里插入图片描述

  1. 项目路由

在这里插入图片描述

项目初始化

  1. 初始化项目文件夹
mkdir go-bookstore
cd go-bookstore
  1. 初始化 mod 文件
cd go-bookstore
go mod init github.com/yourusername/go-bookstore

注意,此处的 yourusername 请替换为你的 GitHub 用户名。

  1. 安装依赖包
# GORM 是一个用于 Go 的 ORM(对象关系映射)库,可以简化与数据库的交互。
go get "github.com/jinzhu/gorm"
# 这个包提供了与 MySQL 数据库的连接和操作功能,使得可以使用 GORM 进行 MySQL 数据库的 CRUD 操作。
go get "github.com/jinzhu/gorm/dialects/mysql"
# Gorilla Mux 是一个强大的 HTTP 路由和调度库,可以处理请求路由,支持路径变量、查询参数等功能。
go get "github.com/gorilla/mux"# 打开 VSCode 编辑器
code .
  1. 创建 go-bookstore 数据库

打开 Mysql 客户端,输入以下命令创建 go-bookstore 数据库:

CREATE DATABASE `database_name` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

其中,database_name 请替换为你自己喜欢的数据库名称。

  1. 初始化项目结构

一行代码在项目根目录下创建目录和空文件

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【重学 MySQL】六、MySQL 的下载、安装、配置
  • npm、yarn、pnpm小节
  • css三点闪烁(可用于加载样式、标题等)
  • AWS EC2安全组配置:轻松开放端口访问
  • DataX导入或导出hive数据
  • 小程序使用iconfont字体图标
  • 注册安全分析报告:央视网
  • 【系统架构设计师-2021年】综合知识-答案及详解
  • 蓝桥杯备赛day01:循环
  • UDP广播、 组播通信
  • c++ 156函数
  • 【web安全】SQL注入篇
  • 网安新声 | 智能家居时代,用户隐私谁来守护
  • ACW快凝科技:打造无漏坚固新纪元,环保高效封堵未来
  • CRM系统为贷款中介行业插上科技的翅膀
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 《Java编程思想》读书笔记-对象导论
  • canvas 高仿 Apple Watch 表盘
  • ComponentOne 2017 V2版本正式发布
  • CSS实用技巧干货
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Go 语言编译器的 //go: 详解
  • input的行数自动增减
  • Mac转Windows的拯救指南
  • maya建模与骨骼动画快速实现人工鱼
  • Mybatis初体验
  • MySQL几个简单SQL的优化
  • ReactNativeweexDeviceOne对比
  • Redis在Web项目中的应用与实践
  • scrapy学习之路4(itemloder的使用)
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • vue学习系列(二)vue-cli
  • yii2中session跨域名的问题
  • 从零开始学习部署
  • 对JS继承的一点思考
  • 官方解决所有 npm 全局安装权限问题
  • 批量截取pdf文件
  • 扑朔迷离的属性和特性【彻底弄清】
  • 数组大概知多少
  • 算法-图和图算法
  • 提醒我喝水chrome插件开发指南
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ionic入门之数据绑定显示-1
  • Spring第一个helloWorld
  • # .NET Framework中使用命名管道进行进程间通信
  • #define、const、typedef的差别
  • #QT(智能家居界面-界面切换)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (vue)页面文件上传获取:action地址
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (规划)24届春招和25届暑假实习路线准备规划
  • (简单) HDU 2612 Find a way,BFS。