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

wordpress不适合做大站阿里云轻量级服务器搭建wordpress

wordpress不适合做大站,阿里云轻量级服务器搭建wordpress,网络营销资讯网站,网站设计怎么做有效的简介 只作为快速入门、了解Go的GinGorm框架的demo#xff0c;不能作为企业级开发。 详细用法请看官网 《Gin官网》 《Gorm官网》 使用GoLand创建Go项目#xff08;默认modules#xff09; go版本1.22.2 需要设置代理下载go相关软件包#xff0c;否则软件包可能无法下载。…简介 只作为快速入门、了解Go的GinGorm框架的demo不能作为企业级开发。 详细用法请看官网 《Gin官网》 《Gorm官网》 使用GoLand创建Go项目默认modules go版本1.22.2 需要设置代理下载go相关软件包否则软件包可能无法下载。 https://goproxy.cn目录结构 go.mod就是管理相关软件的版本信息如果你学习过Java可以简单理解mod就是maven、gradle等构建工具 安装 Gin Gorm 软件包 控制台执行以下三条命令否则启动会报错。 gin web框架 gorm orm框架 gorm mysql 数据库驱动 go get -u github.com/gin-gonic/gin go get -u gorm.io/gorm go get -u gorm.io/driver/mysql创建mysql数据库 创建main.go文件 go有且仅有一个main函数这个是跟java不太一样的地方java是允许有多个main函数的。 //包的概念 package main//引入的包路径 import (fmtgithub.com/gin-gonic/gingorm.io/driver/mysqlgorm.io/gormnet/httppathtime )//定义一个结构体 type UserInfo struct {gorm.Model //gorm模型默认包含 ID、CreatedAt、UpdatedAt、DeletedAt 4个变量Username string gorm:index form:username json:username binding:requiredPassword string form:password json:password binding:required }// 自定义 gin 中间件 MyHandlerFunc func MyHandlerFunc(invoke bool) gin.HandlerFunc {return func(c *gin.Context) {if invoke {fmt.Println(请求开始......)start : time.Now()//在请求上下文中设置值后续的处理函数可以获取到该值c.Set(token, 1)token, ok : c.Get(token)if !ok {c.JSON(http.StatusUnauthorized, gin.H{code: http.StatusUnauthorized,message: 未授权,})return}fmt.Printf(token %v\n, token)c.Next()//c.Abort()表示阻止代码继续往下执行//c.Abort()//计算请求耗时cost : time.Since(start)fmt.Println(请求耗时:, cost)fmt.Println(请求结束......)} else {c.Next()}} }//main函数 func main() {//0.在控制台输入 go get -u github.com/gin-gonic/gin 安装 Gin 软件包//返回默认路由引擎r : gin.Default()//指定用户使用GET请求访问/hello并执行匿名函数返回JSON格式map[string]的数据//1.返回map一般用于临时返回不推荐r.GET(/map, func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{message: Hello World,})})/*2.返回结构体【推荐】类似java中的对象但是首字母必须大写否则无法进行序列化和反序列化以及灵活使用tag来对结构体进行定制化操作*/type Person struct {//后面写json:name表示如果以json返回则变量名使用nameName string json:nameMessage string json:messageAge int json:age}r.GET(/struct, func(c *gin.Context) {data : Person{Meta39, Java 学习 Go, 25}c.JSON(http.StatusOK, data)})//3.请求地址携带参数的请求【不推荐】主要使用c.Query访问localhost:8080/query?nameMeta39age25浏览器返回Meta39控制台输出age: 25r.GET(/query, func(c *gin.Context) {name : c.Query(name)age : c.Query(age)c.JSON(http.StatusOK, gin.H{name: name,})fmt.Printf(age: %s\n, age)})//4.获取URL路径参数【推荐】根据用户ID查询用户信息访问localhost:8080/user/1//relativePath也可以是/user/:id/:age多个组合r.GET(/user/:id, func(c *gin.Context) {id : c.Param(id)c.JSON(http.StatusOK, gin.H{id: id,name: Meta39,age: 25,sex: Man,})})//5.参数绑定ShouldBind【推荐】(访问localhost:8080/shouldBind在body {username: mata,password: 123456})r.POST(/shouldBind, func(c *gin.Context) {//声明UserInfo类型的变量uvar u UserInfo// 类似于 Spring RequestBody 注解err : c.ShouldBind(u)if err ! nil {c.JSON(http.StatusBadRequest, gin.H{error: err.Error(),})return}fmt.Printf(%v\n, u)c.JSON(http.StatusOK, gin.H{success: ok,})})//6.文件上传r.POST(/upload, func(c *gin.Context) {//从请求中读取文件f, err : c.FormFile(file)if err ! nil {c.JSON(http.StatusBadRequest, gin.H{error: err.Error(),})return}//将读取的文件保存到本地dst : path.Join(./, f.Filename)_ c.SaveUploadedFile(f, dst)c.JSON(http.StatusOK, gin.H{success: ok,})})//7.处理404r.NoRoute(func(c *gin.Context) {c.JSON(http.StatusNotFound, gin.H{code: 404,message: 404 Not Found,data: nil,})})//8.路由组【支持嵌套】类似SpringBoot里的RequestMappinguserGroup : r.Group(/users){//根据用户id查询用户userGroup.GET(/:id, func(c *gin.Context) {id : c.Param(id)c.JSON(http.StatusOK, gin.H{id: id,name: Meta39,})})//创建用户userGroup.POST(/, func(c *gin.Context) {var u UserInfoerr : c.ShouldBind(u)if err ! nil {c.JSON(http.StatusBadRequest, gin.H{error: err.Error(),})}fmt.Printf(创建用户%v\n, u)c.JSON(http.StatusOK, gin.H{success: ok,})})}//9.定义中间件一般放到路由组Group类似Java中的filter过滤器r.GET(/handlerFunc, MyHandlerFunc(true), func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{message: MyHandlerFunc,})})//10.在控制台输入 go get -u gorm.io/gorm 安装 gorm 软件包//11.在控制台输入 go get -u gorm.io/driver/mysql 安装 gorm mysql 数据库驱动软件包dsn : root:123456tcp(127.0.0.1:3306)/gorm?charsetutf8mb4parseTimeTruelocLocaldb, gormErr : gorm.Open(mysql.Open(dsn), gorm.Config{})if gormErr ! nil {panic(failed to connect database)}// 迁移 schema_ db.AutoMigrate(UserInfo{})var userInfo UserInfo// Createdb.Create(UserInfo{Username: Meta39, Password: 123456})// Readdb.First(userInfo, 1) // 根据整型主键查找db.First(userInfo, username ?, Meta39) // 查找 username 字段值为 Meta39 的记录// Update - 将 userInfo 的 Password 更新为 654321db.Model(userInfo).Update(Password, 654321)// Update - 更新多个字段db.Model(userInfo).Updates(UserInfo{Username: Meta, Password: 123}) // 仅更新非零值字段db.Model(userInfo).Updates(map[string]interface{}{Username: Meta1, Password: 234})// Delete - 删除 userInfo默认软删除即打上删除标志如在deleted_at填充时间表示这条数据已经被删除了//db.Delete(userInfo, 1)//永久删除//db.Unscoped().Delete(userInfo, 1)//启动服务不指定端口号则默认8080ginErr : r.Run(:8080)//启动异常处理并输出异常信息if ginErr ! nil {fmt.Printf(ginErr:%v\n, ginErr)return}}控制台执行 go run .\main.go打开浏览器访问localhost:8080/map会输出JSON格式的Hello World 数据库会有一条id 1的记录
http://www.w-s-a.com/news/331569/

相关文章:

  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册
  • 代做毕设的网站先做网站先备案
  • 网站定制哪个好wordpress主题dux1.9
  • 怎么自己做网站地图网站建设弹窗代码
  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司
  • 企业网站有必要做吗?网站平均停留时间
  • 蘑菇街的网站建设凡科网站建设网页怎么建
  • 中国光大国际建设工程公司网站论坛是做网站还是app好
  • 地产集团网站建设高德是外国公司吗?
  • 天津市网站建站制作网站建设新报价图片欣赏
  • 怎么样在百度搜到自己的网站高端房产网站建设