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

辛集市建设局网站seo外链论坛

辛集市建设局网站,seo外链论坛,招商网站建设地点,南宁公司做网站概述: 在学习GORM过程中,总是在调用结构体和文件导入这里出错,所以整理了以下文档用于梳理变量/结构体命名规则和import导入的知识点 一、变量/结构体命名规则 变量/结构体都遵守同样的命名规则:可见性由首字母大小写决定 大写…

概述:

在学习GORM过程中,总是在调用结构体和文件导入这里出错,所以整理了以下文档用于梳理变量/结构体命名规则import导入的知识点

一、变量/结构体命名规则

变量/结构体都遵守同样的命名规则:可见性由首字母大小写决定

  • 大写首字母:公开的(可导出的)其他包可以访问它。

  • 小写首字母:私有的(不可导出的) 只能在定义它的包内部访问

    命名变量
    变量命名应遵循Go的命名惯例,一般使用驼峰式命名法。局部变量通常使用小写字母开头(user),而导出的结构体使用大写开头(User)。这样命名后,你可以直接使用包名加类型名的方式在其他包中引用这些类型或函数。

附录 基本规则

小驼峰 aVar:局部变量(包括函数参数)
大驼峰 AndVar:导出的变量/结构体、类型、函数、方法等

二、GROM实际案例

下面是如何在main.go中导入并使用/models包中的User结构体的具体步骤:

1、定义User结构体

假设有一个(位于/models/user.go)文件,其中定义了User结构体:

 注:这里因为User是大写的,表明是可以导出的
// 文件路径: /models/user.go
package modelstype User struct {Name stringAge  int
}

2、 在main.go中导入User结构体,以及对应的操作

在main.go中,你可以这样导入并使用User结构体:
···

package mainimport ("fmt""your-module-name/models" // 替换成自己的模块名
)func main() {var user models.Useruser.Name = "Alice"user.Age = 30fmt.Println(user)
}

总结

在main.go中使用models包中的User结构体,你需要先导入models包,然后使用models.User来创建User实例。确保User结构体是导出的(即首字母大写),这样才能在包外部访问它。

三、结构体中的公开和私有字段

//path:/models/user.go
type User struct {Name string  // 公开字段age  int     // 私有字段
}

公开和私有字段类似 java对象 的public和private属性
公开字段:能自由地读取和修改
私有字段:不能直接读取或修改值

//path:main.go
func main() {user := models.User{Name: "Alice"}user.Name = "Bob"  // 可以修改,因为 Name 是公有字段// user.age = 30    // 编译错误,不能修改,因为 age 是私有字段fmt.Println(user.Name)//fmt.Println(user.age)//错误
}

四、GORM中的gorm.Model和自动迁移功能

1 gorm.Model、

//path:/models/user.go
type User struct {gorm.ModelUsername stringPassword string
}

User结构体包含嵌入字段gorm.Model:一个嵌入式基础模型,GORM会自动为你的数据库表添加y一些基础字段:

  1. ID:唯一标识符,主键
  2. CreatedAt:被创建的时间
  3. UpdatedAt:最后一次更新的时间
  4. DeletedAt:被删除的时间,用于支持软删除(标记为删除而非DB实际删除)

3、 GORM自动迁移技术

GORM自动迁移功能:根据go程序中定义的结构体创建对应的数据库表

	//连接数据库db, err := gorm.Open(sqlite.Open("gotest1.db"), &gorm.Config{})//使用Gorm自动迁移功能db.AutoMigrate(&models.User{})

4、硬删除和软删除

  • 硬删除:实际地从数据库删除
  • 软删除:没有实际擅长,只是设置DeletedAt为当前时间,标记为已删,在查询中会被GORM忽略
http://www.hkea.cn/news/978134/

相关文章:

  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目
  • 网页设计最牛的网站建设宁波网站优化公司哪家好
  • 建设通查询如何做网站推广及优化
  • 城乡建设网站首页百度seo收录软件
  • 永久免费建个人网站培训网站建设
  • 如何使用jq做弹幕网站好用的磁力搜索引擎
  • 南充营销型网站建设高端品牌网站建设
  • 制作小程序和网站的公司搜狗收录提交入口网址
  • 手机站电影基础建站如何提升和优化
  • 江苏 网站备案百度贴吧官网app下载
  • 网站制作三站湖南网站seo公司
  • 简单做任务赚钱网站企业管理培训课程报名
  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化
  • 2017网站开发工程师五合一网站建设
  • 学编程的孩子有什么好处seo网站诊断文档案例