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

专业做app下载网站国外平面设计欣赏网站

专业做app下载网站,国外平面设计欣赏网站,wordpress 百度ping,seo搜索引擎优化简历结构体 结构体定义 在之前学过的数据类型中#xff0c;数组与切片#xff0c;只能存储同一类型的变量。若要存储多个类型的变量#xff0c;就需要用到结构体#xff0c;它是将多个任意类型的变量组合在一起的聚合数据类型。 每个变量都成为该结构体的成员变量。   可以理…结构体 结构体定义 在之前学过的数据类型中数组与切片只能存储同一类型的变量。若要存储多个类型的变量就需要用到结构体它是将多个任意类型的变量组合在一起的聚合数据类型。 每个变量都成为该结构体的成员变量。   可以理解为 Go语言 的结构体struct和其他语言的class有相等的地位但是Go语言放弃大量面向对象的特性所有的Go语言类型除了指针类型外都可以有自己的方法,提高了可扩展性。在 Go 语言中没有没有 class 类的概念只有 struct 结构体的概念因此也没有继承。 结构体的声明 type 结构体名 struct {属性名 属性类型属性名 属性类型 }eg type Student struct{name stringage intgender stringdeskmate *Studentroomate *Student }注意事项 最后一个字段和右括号不在同一行时要加引号在同一行时不加引号 //正确写法zhangsan : Student{name:小明,age:18,gender: male,}/* 或者zhangsan : Student{name:小明,age:18,gender: male}*//* 错误写法zhangsan : Student{name:小明,age:18,gender: male}*/字段名初始化时要么全写要去全不写不能有的写有的不写 /* 指定字段名的初始化正确形式zhangsan : Student{name:小明,age:18,gender: male,} *///未指定字段名的初始化正确形式zhangsan : Student{小明,18,male,nil,nil,}初始化结构体并不一定所有字段都赋值未被赋值的字段会自动赋值为其类型的零字段。 但是只有通过指定字段名才可进行部分赋值不指定字段名会报错。 eg:错误的写法 zhangsan : Student{小明,18,male,}绑定方法 Golang中我们无法在结构体内定义方法需要使用组合函数的方式来定义结构体方法。 eg: type Student struct{name stringage intgender stringdeskmate *Studentroomate *Student }//定义和结构体有关的方法 func (stu Student) StudentPrint(){fmt.Printf(名字%s\n,stu.name)fmt.Printf(年龄%d\n,stu.age)fmt.Printf(性别%s\n,stu.gender) } func main() {zhangsan : Student{小明,18,male,nil,nil,}/*名字小明年龄18性别male */zhangsan.StudentPrint() }方法的参数传递方式 那我们如何进行选择呢以下几种情况应当直接使用指针做为方法的接收者。 你需要在方法内部改变结构体内容的时候 出于性能的问题当结构体过大的时候 (因为指针大小相对于传值调用方式要求将参数的一份拷贝传递给函数花费的开销较小。) 有些情况下以值或指针做为接收者都可以但是考虑到代码一致性建议都使用指针做为接收者。 不管你使用哪种方法定义方法指针实例对象、值实例对象都可以直接调用而没有什么约束。这一点Go语言做得非常好。 当想在方法内改变实例的属性的时候必须使用指针作为方法的接收者 func (stu *Student) changeage(){stu.age 1 }结构体的嵌套 由于Golang中无继承的实现所以结构体的嵌套可以代替实现继承。 使用方法:将嵌套的结构体作为一个匿名字段 type Student struct{name stringage intgender stringdeskmate *Studentroomate *Student//匿名字段school } type school struct{schoolarea stringschoolmj string } func main() {new_un : school{东南大学,10000,}zhangsan : Student{小明,18,male,nil,nil,new_un,}fmt.Println(zhangsan.school) }方法权限 在 Go 语言中函数名的首字母大小写非常重要它被来实现控制对方法的访问权限。 当方法的首字母为大写时这个方法对于所有包都是Public其他包可以随意调用 当方法的首字母为小写时这个方法是Private其他包是无法访问的。 结构体初始化 func main() {//1.直接赋值实例化zhangsan : Student{小明,18,male,nil,nil,}//2.使用new实例化ls : new(Student)ls.name lisi//3.使用var实例化var ww Student;ww.name 王五fmt.Println(zhangsan.name)fmt.Println(ls.name)fmt.Println(ww.name)/* 小明lisi王五 */ }结构体的构造函数 Golang语言的结构体没有构造函数我们可以自己实现。 例如下方的代码就实现了一个person的构造函数。 因为struct是值类型如果结构体比较复杂的话值拷贝性能开销会比较大所以该构造函数返回的是结构体指针类型。 func gz(name string,age int, gender string) *Student{return Student{name: name,age: age,gender: gender,} }func main() {zhangsan : gz(zahngsan,19,男) }
http://www.yayakq.cn/news/6065/

相关文章:

  • 网站的界面设计怎么做网站是怎么建成的
  • 国内模板建站公司dedecms中英文网站开发
  • 网站页面设计工作流程邯郸有没有专门做写字楼的网站
  • ppt哪个网站质量高有哪些做短租的网站
  • 广州网站建设推广专家团队湖南郴州市房价
  • 做pc端网站市场2015年做啥网站致富
  • 高中教学网站怎样制作小程序软件
  • pc 移动端网站建设手机网站域名怎么解析
  • 南昌做微信网站自己做的软件怎么发布
  • 石家网站建设公司排名无锡中英文网站建设
  • 北京网站开发网络公司如何用dw制作个人网页
  • 小程序就是做网站安徽网站开发培训价格
  • 调研园区网站建设工作总结代理公司注册要提供什么资料
  • 市场来说网站建设销售发展怎么样顺企网赣州网站建设
  • 五莲网站建设公司天山网
  • 交易类网站做支付宝功能西安免费做网站电话
  • 网站开发项目的里程碑大连网站建设企业
  • 三合一网站五屏网站建设怎样
  • 郑州百度关键词seoseo发外链网站
  • 做房产网站长wordpress文章字数
  • 国示范校建设网站手机app是什么意思
  • 微信订阅号关键网站淘宝客怎样建设网站
  • 中山建站wordpress主题seven柒比贰
  • 云主机重装系统后网站重新部署吗建设一个网站的设备
  • 快速达建网站赣州章贡区属于什么风险区
  • 用asp做旅游网站新乡市建设路小学网站
  • 东营智能网站设计互联网营销师怎么报名
  • 做网站怎么上传物流案例网站
  • 天津高端网站建设案例vi设计合同范本最新版
  • 布吉网站建设价格全国当先的网络建站推广