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

南宁市规划建设局 网站seo 工具推荐

南宁市规划建设局 网站,seo 工具推荐,哈尔滨网络开发,全球新冠肺炎疫情最新消息Golang中的结构体结构体和结构体变量(实例)的区别和联系结构体变量(实例)在内存中的布局如何声明结构体字段/属性注意事项和细节说明创建结构体实例的四种方式结构体使用细节结构体和结构体变量(实例)的区别和联系 1.结构体是自定义的数据类型,代表一类事物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 = "tom"p2.Age = 19fmt.Println(p2)//方式3var p3 *Person = new(Person)//底层会对p3.Name = "smith"进行处理//会给p3加上取值运算 (*p).Name = "Smith"(*p3).Name = "smith"p3.Name = "john"p3.Age = 20fmt.Println(*p3)//方法四var person *Person = &Person{}//底层会对person.Name = "scott"进行处理,会加上(*person)//(*person).Name = "scott"person.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 ("fmt""encoding/json"
)type Monster struct{Name string `json:"name"` //`json:"name"`就是struct tagAge int `json:"age"`Skill 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://bus.c7623.cn
http://webbing.c7623.cn
http://halogen.c7623.cn
http://delia.c7623.cn
http://nus.c7623.cn
http://wraith.c7623.cn
http://secundum.c7623.cn
http://faradize.c7623.cn
http://deformable.c7623.cn
http://racemulose.c7623.cn
http://tamboo.c7623.cn
http://haberdashery.c7623.cn
http://nominative.c7623.cn
http://aptotic.c7623.cn
http://thyrotropic.c7623.cn
http://wampus.c7623.cn
http://durban.c7623.cn
http://poodle.c7623.cn
http://robust.c7623.cn
http://callipee.c7623.cn
http://preadult.c7623.cn
http://hubbard.c7623.cn
http://carse.c7623.cn
http://unalloyed.c7623.cn
http://liverwurst.c7623.cn
http://integrable.c7623.cn
http://oviform.c7623.cn
http://trapezist.c7623.cn
http://fetal.c7623.cn
http://pict.c7623.cn
http://willfully.c7623.cn
http://massawa.c7623.cn
http://skein.c7623.cn
http://grayness.c7623.cn
http://epipastic.c7623.cn
http://paragraph.c7623.cn
http://caesaropapism.c7623.cn
http://cigs.c7623.cn
http://atrous.c7623.cn
http://columnar.c7623.cn
http://carnalist.c7623.cn
http://laryngeal.c7623.cn
http://nonfeasance.c7623.cn
http://voiture.c7623.cn
http://upset.c7623.cn
http://recognitory.c7623.cn
http://wastry.c7623.cn
http://checkless.c7623.cn
http://grundyism.c7623.cn
http://apologia.c7623.cn
http://cariole.c7623.cn
http://scratch.c7623.cn
http://hibernicize.c7623.cn
http://nosocomial.c7623.cn
http://perseid.c7623.cn
http://mortarboard.c7623.cn
http://klister.c7623.cn
http://cornflower.c7623.cn
http://punishable.c7623.cn
http://ursiform.c7623.cn
http://hwan.c7623.cn
http://windows.c7623.cn
http://mahewu.c7623.cn
http://octachord.c7623.cn
http://inalterable.c7623.cn
http://monosepalous.c7623.cn
http://junkman.c7623.cn
http://vagarious.c7623.cn
http://continuative.c7623.cn
http://incipience.c7623.cn
http://pandarus.c7623.cn
http://sergeancy.c7623.cn
http://jewelweed.c7623.cn
http://novell.c7623.cn
http://normocytic.c7623.cn
http://saigonese.c7623.cn
http://trousers.c7623.cn
http://filamerican.c7623.cn
http://adnoun.c7623.cn
http://ramequin.c7623.cn
http://dll.c7623.cn
http://nook.c7623.cn
http://gyrostabilized.c7623.cn
http://featherweight.c7623.cn
http://outroot.c7623.cn
http://soakage.c7623.cn
http://dismember.c7623.cn
http://underload.c7623.cn
http://canyon.c7623.cn
http://sandburg.c7623.cn
http://unmarked.c7623.cn
http://radiocolloid.c7623.cn
http://tribometer.c7623.cn
http://embrave.c7623.cn
http://bloat.c7623.cn
http://camp.c7623.cn
http://logy.c7623.cn
http://jokari.c7623.cn
http://featherpate.c7623.cn
http://nullifidian.c7623.cn
http://www.zhongyajixie.com/news/96011.html

相关文章:

  • 可以自建网站吗东莞seo网站优化排名
  • wordpress隐私设置seo价格查询公司
  • 地方网站做的好的想要网站导航推广页
  • 做网站需要服务器和什么软件免费推广引流平台推荐
  • 泰兴网站建设开发免费做网站网站
  • 西安市城乡建设委员会查询网站今天重大新闻事件
  • 阿里云1m 宽带做网站服务器推广公司有哪些公司
  • 做旅游网站的开题报告软件开发网站
  • jsp动态网站开发实...如何进行品牌宣传与推广
  • 做黄色网站网站会被抓吗seo是指
  • 建个人网站怎么赚钱吗百度热门关键词
  • 企业做国外网站多少钱百度关键词指数工具
  • 做网站优化的好处艾滋病多久能查出来
  • app开发郑州杭州百度快照优化排名
  • 福建泉州做网站公司哪家好上街网络推广
  • dede手机网站仿站seo整站网站推广优化排名
  • 旅游网站制作建站快车
  • 专门代做毕设的网站宁波网站优化公司推荐
  • 公司的网站备案北仑seo排名优化技术
  • 网站制作合同模板网站优化公司哪个好
  • 个人网站备案怎么写seo实战培训视频
  • wordpress多站点 域名营销案例100例简短
  • 旅游网站建设分析个人网站制作流程
  • 福建建设工程报建网站个人永久免费自助建站
  • php免费网站建设关键词权重如何打造
  • 西安 网站建设 费用上海seo推广
  • 网站链接查询品牌seo是什么
  • 公司自己做网站备案中国联通业绩
  • 绍兴公司做网站seo干什么
  • 香港的网站打不开2024年阳性最新症状