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

青海住房和城乡建设厅网站深圳定制网站

青海住房和城乡建设厅网站,深圳定制网站,做网站注册商标哪一类,wordpress注册错误Golang中的结构体结构体和结构体变量(实例)的区别和联系结构体变量(实例)在内存中的布局如何声明结构体字段/属性注意事项和细节说明创建结构体实例的四种方式结构体使用细节结构体和结构体变量(实例)的区别和联系 1.结构体是自定义的数据类型#xff0c;代表一类事物2.结构体… Golang中的结构体结构体和结构体变量(实例)的区别和联系结构体变量(实例)在内存中的布局如何声明结构体字段/属性注意事项和细节说明创建结构体实例的四种方式结构体使用细节结构体和结构体变量(实例)的区别和联系 1.结构体是自定义的数据类型代表一类事物2.结构体变量(实例)是具体的实际的代表一个具体变量 结构体变量(实例)在内存中的布局 如何声明结构体 type 结构体名称 struct{ ​ field1 type ​ field2 type } 字段/属性注意事项和细节说明 1.字段声明语法同变量2.字段的类型可以为基本类型数组或引用类型3.在创建一个结构体变量后如果没有给字段赋值都对应一个零值(默认值)指针、slice和map的零值都是nil即还没有分配空间4.不同结构体变量的字段是独立互不影响一个结构体变量字段的更改不影响另外一个 package main import (fmt )//不影响另外一个结构体是值类型 type Monster struct {Name stringAge int } func main() {var monster1 Monstermonster1.Name 牛魔王monster1.Age 500monster2 : monster1 //结构体是值类型默认为值拷贝monster2.Name 青牛精fmt.Println(monster1, monster1)fmt.Println(monster2, monster2) }//monster1 {牛魔王 500} //monster2 {青牛精 500} 创建结构体实例的四种方式 1.方式一—直接声明var person Person 2.方式二—{}var person Person Person{} 3.方式三—var perosn *Person new(Person) 4.方式四—{}var person *Person Person{} package main import (fmt )//不影响另外一个结构体是值类型 type Person struct {Name stringAge int } func main() {//方式2p2 : Person{}p2.Name tomp2.Age 19fmt.Println(p2)//方式3var p3 *Person new(Person)//底层会对p3.Name smith进行处理//会给p3加上取值运算 (*p).Name Smith(*p3).Name smithp3.Name johnp3.Age 20fmt.Println(*p3)//方法四var person *Person Person{}//底层会对person.Name scott进行处理会加上(*person)//(*person).Name scottperson.Name ddd(*person).Age 44fmt.Println(*person)}/* {tom 19} {john 20} {ddd 44} */说明- 1.第三种和第四种方式返回的是结构体指针 - 2.结构体指针访问字段的标准方式应该是( *结构体指针).字段名比如( *person).Name tom - 3.但是go做了一个简化也支持结构体指针.字段名比如person.Name tom。go编译器底层对person.Name做了转化(*Person).Name## 结构体内存分配机制变量总是在内存中的那么结构体变量在内存中就近是怎样存在的 结构体使用细节 1.结构体的所有字段在内存中时连续的 2.结构体是用户单独定义的类型和其他类型转换时需要有完全相同的字段(名字个数和类型) package main import (fmt )type A struct {Num int } type B struct {Num int } func main(){var a Avar b Ba A(b) //可以转换但是结构体的字段要完全一样(名字个数类型)fmt.Println(a,b) }//{0} {0} 3.结构体进行type重新定义(相当于取别名),Golang认为是新的数据类型但是相互间可以强转 4.struct的每个字段上可以写上一个tag该tag可以通过反射机制获取常见的使用场景就是序列化和反序列化 序列化使用场景 package main import (fmtencoding/json )type Monster struct{Name string json:name //json:name就是struct tagAge int json:ageSkill string json:string }func main(){//创建一个MOnster变量monster : Monster{kunkun, 27, sing~}//将monster变量序列化为json格式字符串jsonStr , err : json.Marshal(monster)if err ! nil {fmt.Println(json c处理错误, err)}fmt.Println(jsonStr, string(jsonStr)) }//jsonStr {name:kunkun,age:27,string:sing~}
http://www.w-s-a.com/news/491720/

相关文章:

  • 制作网站报价工程项目查询哪个网站
  • 深圳移动网站建设制作公司网站建设的认识
  • 网站建设脚本语言有哪些想开网店哪个平台好
  • 视频网站用什么做的好深圳的小程序开发公司
  • 南京网站定制开发商城网站免费模板
  • 青海学会网站建设公司照片组合拼图
  • 中国建设银行福清分行网站爱站网权重查询
  • 外贸通网站建设网站建设7个主要流程图
  • 元气森林网络营销方式医疗网站优化怎么做
  • 手机网站制作报价表做网站公司做网站公司
  • 湖州网站设计吉林网站建设哪家好
  • 做存储各种环境信息的网站使用tag的网站
  • 阿里云用ip做网站网站开发员属于
  • 外链网盘下载南宁seo推广优化
  • 网站的推广方案有哪些此网站可能有
  • wordpress更改链接后网站打不开一键生成个人网站
  • 网站建设后台有哪些东西前端开发培训一般多少钱
  • 高端建设网站公司网站开发 源码
  • 企业网站的劣势园林景观设计公司简介范文
  • 网站建设程序招聘东营建设信息网登录
  • o2o是什么意思通俗讲seo与网站优化 pdf
  • 外贸网站外包一般建设一个网站多少钱
  • 抄袭别人网站的前端代码合法吗网络促销策略
  • 用wordpress制作网站做资源网站
  • wordpress 发布网站南宁网站建设网站
  • 职业生涯规划大赛心得贵阳哪家网站做优化排名最好
  • wordpress 图片懒加载北京网站优化和推广
  • 深圳网站建设工作一个dede管理两个网站
  • 被禁止访问网站怎么办中国建筑网官网查询系统
  • 网站管理运营建设网贷网站