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

如何建设专题网站冶金工业建设工程定额总站网站

如何建设专题网站,冶金工业建设工程定额总站网站,上海网站建设上海,网站怎么做内链每个无名结构体类型的字面形式均由struct关键字开头#xff0c;后面跟着用一对大括号{}#xff0c;其中包裹着的一系列字段#xff08;field#xff09;声明。 一般来说#xff0c;每个字段声明由一个字段名和字段类型组成。一个结构体类型的字段数目可以为0。struct {tit…每个无名结构体类型的字面形式均由struct关键字开头后面跟着用一对大括号{}其中包裹着的一系列字段field声明。 一般来说每个字段声明由一个字段名和字段类型组成。一个结构体类型的字段数目可以为0。struct {title stringauthor stringpages int }一个结构体类型的尺寸为它的所有字段的类型尺寸之和加上一些填充字节的数目。 常常地编译器和运行时会在一个结构体值的两个相邻字段之间填充padding一些字节来保证一些字段的地址总是某个整数的倍数内存地址对齐, memory address alignment。一个零字段结构体的尺寸为零。每个结构体字段在它的声明中可以被指定一个标签tag。从语法上讲字段标签可以是任意字符串它们是可选的默认为空字符串。struct {Title string json:title myfmt:s1Author string json:author,omitempty myfmt:s2Pages int json:pages,omitempty myfmt:n1X, Y bool myfmt:b1 }每个字段标签的目的取决于具体应用。上面这个例子中的字段标签用来帮助encoding/json标准库包来将上面这个结构体类型的某个值编码成JSON数据或者从一份JSON数据解码到上面这个结构体类型的某个值中。在编码和解码过程中encoding/json标准库包中的函数将只考虑导出的结构体字段。这是为什么上面这个结构体的字段均为导出的。对于类型S的一个值v我们可以用v.x和v.y来表示它的字段。 v.x或v.y这种形式称为一个选择器selector。其中的v称为此选择器的属主。 今后我们称一个选择器中的句点.为属性选择操作符。如果一个组合字面量中最后一项和结尾的}处于同一行则此项后的逗号,是可选的否则此逗号不可省略。var _ Book {author: 老貘,pages: 256,title: Go语言101, // 这里行尾的逗号不可省略 }// 下行}前的逗号可以省略。 var _ Book{author: 老貘, pages: 256, title: Go语言101,}结构体值的赋值当一个源结构体值被赋值给另外一个目标结构体值时其效果和逐个将源结构体值的各个字段赋值给目标结构体值的各个对应字段的效果是一样的。func f() {book1 : Book{pages: 300}book2 : Book{Go语言101, 老貘, 256}book2 book1// 上面这行和下面这三行是等价的。book2.title book1.titlebook2.author book1.authorbook2.pages book1.pages }结构体字段的可寻址性如果一个结构体值是可寻址的则它的字段也是可寻址的反之一个不可寻址的结构体值的字段也是不可寻址的。 不可寻址的字段的值是不可更改的。所有的组合字面量都是不可寻址的。package mainimport fmtfunc main() {type Book struct {Pages int}var book Book{} // 变量值book是可寻址的p : book.Pages*p 123fmt.Println(book) // {123}// 下面这两行编译不通过因为Book{}是不可寻址的// 继而Book{}.Pages也是不可寻址的。/*Book{}.Pages 123p Book{}.Pages // p (Book{}.Pages)*/ }注意选择器中的属性选择操作符.的优先级比取地址操作符的优先级要高。组合字面量不可寻址但可被取地址一般来说只有可被寻址的值才能被取地址但是Go中有一个语法糖语法例外虽然所有的组合字面量都是不可寻址的但是它们都可被取地址。package mainfunc main() {type Book struct {Pages int}// Book{100}是不可寻址的但是它可以被取地址。p : Book{100} // tmp : Book{100}; p : tmpp.Pages 200 }在字段选择器中属主结构体值可以是指针它将被隐式解引用比如在下面的例子中为了简洁(*bookN).pages可以被写成bookN.pages。 换句话说在这种简写形式中bookN将被隐式解引用。package mainfunc main() {type Book struct {pages int}book1 : Book{100} // book1是一个指针book2 : new(Book) // book2是另外一个指针// 像使用结构值一样来使用结构体值的指针。book2.pages book1.pages// 上一行等价于下一行。换句话说上一行// 两个选择器中的指针属主将被自动解引用。(*book2).pages (*book1).pages }关于结构体值的比较如果一个结构体类型是可比较的则它肯定不包含不可比较类型的字段这里不忽略名为空标识符_的字段。关于结构体值的类型转换两个类型分别为S1和S2的结构体值只有在S1和S2的底层类型相同忽略掉字段标签的情况下才能相互转换为对方的类型。 特别地如果S1和S2的底层类型相同要考虑字段标签并且只要它们其中有一个为无名类型则此转换可以是隐式的。匿名结构体类型允许出现在结构体字段声明中。匿名结构体类型也允许出现在组合字面量中。通常来说为了代码可读性最好少使用匿名结构体类型。
http://www.tj-hxxt.cn/news/139021.html

相关文章:

  • 北京网站改版哪家好广州企业管理咨询公司排名
  • 网站备案拍照是什么郑州网站制作服务
  • 郑州网站制作报价企业网站源码搜一品资源
  • 长春做企业网站多少钱微博优惠券网站怎么做
  • iis7架设网站桂林两江四湖夜游
  • 做yield网站多少钱wordpress+用户中心插件
  • 嘉兴做网站的公司企业上云解决方案
  • 做网站合肥西宁网站seo价格
  • 公司在百度怎么推广电商seo推广
  • 什么是网站标题单业网站建设
  • 网站建设策划优点企业文化手册
  • 图片展示型网站模板wordpress 秀米
  • 苏州相城区做网站论坛类网站开发
  • 购物建设网站网站空间费1年1200
  • 那里建设网站大兴做网站的公司
  • asp网站代码 部分封装移动网站模板下载
  • 网站介绍模版网站建设社区交流
  • 网站开发与维护是干什么的自适应网站开发seo
  • 网站优化有什么用江西建设质量安全监督网站
  • 灵犀科技 高端网站建设首页企业常用的网络营销方法
  • 有哪些网站可以做电子邀请函网站建设需要怎样的经营范围
  • 烟台做网站优化哪家好网站制作公司加盟
  • 网站开发使用天气api与安网站建设
  • 百度seo报价网站seo分析报告案例
  • 玉环网站制作网站总体规划
  • 选择网站建设wordpress微信防红插件
  • 网站付款接口这么做网络维护网站美工
  • 网站建设制度制定wordpress 5.2必须php7
  • 个人网站模板下载广西自治区住房城乡建设部网站
  • wordpress wp大学镇江做网站seo