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. 初始化项目结构

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/415169.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# DLL已定义类或方法,但是编译报错未定义

现有应用程序1个,动态链接库3个分别称为A、B、C。 应用程序输出在目录P1,动态链接库输出在目录P2。 应用程序引用A、B、C动态链接库,动态链接库A引用B,B引用C。 此时修改动态链接库C,在VS中开发应用程序时可以识别到…

用RPC Performance Inspector 优化你的区块链

目录 什么是RPC? RPC Performance Inspector 是做什么的? 为什么需要这个工具? 如何使用它? 适合谁用? 如何使用? 什么是RPC? RPC Performance Inspector 是一个专门用于测试和分析RPC性能…

C语言 动态内存管理 #动态内存函数的介绍 #常见的动态内存错误 #C\C++ 程序的内存开辟 #柔性数组

文章目录 前言 一、为什么存在动态内存分配 二、动态内存函数的介绍 1、malloc 2、free 3、calloc 4、realloc realloc 的工作原理: 三、常见的动态内存错误 1、对NULL指针的解引用操作 2、对动态开辟空间的越界访问 3、对非动态开辟的空间使用 free 来释…

World of Warcraft [CLASSIC][80][Grandel]Sapphire Hive Drone

Sapphire Hive Drone 蓝玉虫巢雄蜂 蓝玉虫巢巨峰 索拉查盆地 实用性不强,好看是好看,模型很大,无奈栏位太少

时序优化的常见

本期求职笔试题目来源大疆硬件逻辑岗,共2道题,涉及知识点包含:时序约束中异步时钟的设置、典型时序优化方法。 33、根据约束关系set_clock_groups -async -group {CLK1CLK3}{CLK2},下图哪些路径会进行时序检查( )(多选…

MySQL 基础命令

目录 一、MySQL简介 1.MySQL 的主要特点包括 2.MySQL 的主要用途包括: 二、MySQL 基础命令 1. 基本操作 1.1 进入 1.2 选择数据库 1.3 修改密码 1.4 所有命令后面都要加 “;” 2. 创建 2.1 创建数据库 2.2 创建数据表 2.3 常见字段 3. 修改/更新 3.1…

PPT制作加速器:3款工具插件的演示文稿制作更高效

IvyhTools英豪插件 IvyhTools是一款功能强大的PPT插件,主要用于辅助用户进行各种PPT编辑和处理操作。该插件具备以下主要功能: 字体编辑:用户可以对PPT中的字体进行编辑和调整。 动图录制:支持录制动态图像,方便用户在…

Codeforces Round 970 (Div. 3) (个人题解)(未补完)

前言: 昨天晚上的比赛,可惜E题太笨了没想到如何解决,不过好在看到F过的多直接跳过去写F了,能过个5个也还不错了,而且一个罚时也没吃。之后的题我还是会再能补的时候补完的噢! 正文: 链接&…

PLUTO: 推动基于模仿学习的自动驾驶规划的极限

PLUTO: Pushing the Limit of Imitation Learning-based Planning for Autonomous Driving PLUTO: 推动基于模仿学习的自动驾驶规划的极限 https://arxiv.org/abs/2404.14327 Abstract We present PLUTO, a powerful framework that Pushes the Limit of imitation learn…

AJAX基础与进阶

一、express基本使用 1. 在最外层启动终端,添加文件 2. 创建 express 框架 // 1. 引入express const express require(express);// 2. 创建应用对象 const app express();// 3. 创建路由规则 //request 是对请求报文的封装 //response 是对响应报文的封装 app.g…

Java Excel转PDF(免费)

目前市面上 Excel 转 PDF 的组件较多: 收费:aspose、GcExcel、spire开源:jacob、itextpdf 其中收费的组件封装得比较好,代码简洁,转换的效果也很好,但收费也高得离谱: 为了成本考虑&#xff…

1、Django Admin学习模型

此专栏应用环境和模型基于此文 开发环境 系统:windows11 开发工具:vscode 开发语言:python 3.8 开发框架:django 3.2 数据库:mysql8.4.1 项目目录 settings 注册两个应用 INSTALLED_APPS [django.contrib.ad…

关于STC-ISP软件选项“下次下载用户程序时擦除用户EEPROM区”的质疑

1.以前,在用STC-ISP软件下载代码时,该选项一般都默认勾选!见图1;因没用到该功能无视; 2.近日,首次下载需写入一些用户核心数据,以后谁升级代码下载都不能查看和更改这些数据! 3.于…

eureka一

Eureka 什么是eureka eureka服务调用流程 springcloud技术栈应用 分布式理论 CAP CAP理想运行情况 CAP不理想运行情况 CAP取舍 BASE BASE原理 搭建单机注册中心 服务提供者 服务消费者 集群服务注册中心 eureka功能详解 核心功能演示 Eureka源码解析 lifecycle的start

[极客大挑战 2020]Greatphp1

知识点: 1. PHP原生类在CTF中的利用 2. <??> <> <?php echo?> 以及 <??> <> <?php ?> 的变形 3. 正则表达式的取反绕过 进入页面又是熟悉的php的代码审计. <?php error_reporting(0); class SYCLOVER {public $syc;public $l…

基于 R 语言的深度学习——简单回归案例

近年来深度学习在人工智能领域飞速发展&#xff0c;各行业的学者、研究人员纷纷涌入研究热潮。本文将从 R 语言角度来介绍深度学习并解决以下几个问题&#xff1a; 什么是深度学习&#xff1f; 相关深度学习包有哪些&#xff1f; 如何配置工作环境&#xff1f; 如何使用神经…

微服务--认识微服务

微服务架构的演变 1. 单体架构&#xff08;Monolithic&#xff09; 阶段描述&#xff1a;在单体应用时代&#xff0c;整个应用程序被设计为一个项目&#xff0c;并在一个进程内运行。这种架构方式开发简单&#xff0c;便于集中管理&#xff0c;但随着应用的复杂化&#xff0c…

【算法 动态规划 简单多状态 dp 问题】打家劫舍题型

打家劫舍题型 按摩师 (easy)解题思路代码 打家劫舍II &#xff08;medium&#xff09;解题思路代码 删除并获得点数&#xff08;medium&#xff09;解题思路代码 按摩师 (easy) 题目链接 该题是打家劫舍的变形 解题思路 状态表示 分析: 注意题目, 对于当天的预约, 可以接受…

C语言遇见的一些小问题

问题如下&#xff1a; 1&#xff1a;为什么这样的代码为报错 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <algorithm> #include <cstdio> #include<string> #include<stdlib.h> using namespace std; int main() {int i …

mysql5.7 TIMESTAMP NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ 换版8版本 引发的问题

mysql5.7 TIMESTAMP NOT NULL DEFAULT 0000-00-00 00:00:00 换版引发的问题 问题背景sql_mode上机演示5.78.4 问题背景 在项目mysql版本由5.7 换版到8.4版本后&#xff0c;我们进行回归测试时&#xff0c;却发现一个积年代码报错了&#xff0c;是数据库插入报的错 xxx can not…