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

动态公司网站设计简述网络营销的概念与特点

动态公司网站设计,简述网络营销的概念与特点,中国建设银行信用卡中心网站,湖南网站营销推广设计概述 严格意义上说#xff0c;GO语言中没有类(class)的概念,但是我们可以将结构体比作为类#xff0c;因为在结构体中可以添加属性#xff08;成员#xff09;#xff0c;方法#xff08;函数#xff09;。 面向对象编程的好处比较多#xff0c;我们先来说一下“继承…概述 严格意义上说GO语言中没有类(class)的概念,但是我们可以将结构体比作为类因为在结构体中可以添加属性成员方法函数。 面向对象编程的好处比较多我们先来说一下“继承” 所谓继承指的是我们可能会在一些类结构体中写一些重复的成员我们可以将这些重复的成员单独的封装到一个类(结构体)中作为这些类的父类(结构体)我们可以通过如下图来理解 当然严格意义上GO语言中是没有继承的但是我们可以通过”匿名组合”来实现继承的效果。 一、 匿名字段 一般情况下定义结构体的时候是字段名与其类型一一对应实际上Go支持只提供类型而不写字段名的方式也就是匿名字段也称为嵌入字段。 当匿名字段也是一个结构体的时候那么这个结构体所拥有的全部字段都被隐式地引入了当前定义的这个结构体。 //人 type Person struct {name stringsex byteage int }//学生 type Student struct {Person //匿名字段那么默认Student就包含了Person的所有字段id intaddr string }Person也就是上面定义的这个Person结构体。 二、 初始化 //人 type Person struct {name stringsex byteage int }//学生 type Student struct {Person//匿名字段那么默认Student就包含了Person的所有字段id intaddr string }func main() {//顺序初始化s1 : Student{Person{mike,m,18},1,sz}//s1 {Person:{name:mike sex:109 age:18}id:1 addr:sz}fmt.Printf(s1%v\n,s1)//s2 : Student{mike,m,18,1,sz}//err//部分成员初始化1s3 : Student{Person:Person{lily,f,19},id:2}//s3 {Person:{name:lily sex:102 age:19}id:2 addr:}fmt.Printf(s3%v\n,s3)//部分成员初始化2s4 : Student{Person:Person{name:tom},id:3}//s4 {Person:{name:tomsex:0age:0}id:3addr:}fmt.Printf(s4%v\n,s4) }然后我们在main里面调用Student就能直接对Person里面的属性赋值。 三、 成员的操作 var s1 Student//变量声明 //给成员赋值 s1.name mike//等价于s1.Person.namemike s1.sex m s1.age 18 s1.id 1 s1.addr sz fmt.Println(s1) //{{mike 109 18}1 sz} var s2 Student//变量声明 s2.Person Person{lily,f,19} s2.id 2 s2.addr bj fmt.Println(s2) //{{lily 102 19}2 bj}或者我们声明一个Student的变量也能调用它里面的属性。 四、 同名字段 //人 type Person struct{name stringsex byteage int }//学生 type Student struct{Person //匿名字段那么默认Student就包含了Person的所有字段id intaddr stringname string //和Person中的name同名 }func main(){var s Student//变量声明//给Student的name还是给Person赋值s.name mike//{Person:{name:sex:0age:0}id:0addr:name:mike}fmt.Printf(%v\n,s)//默认只会给最外层的成员赋值//给匿名同名成员赋值需要显示调用s.Person.name yoyo//Person:{name:yoyosex:0age:0}id:0addr:name:mike}fmt.Printf(%v\n,s) }如果命名重名的话我们调用只会给最外层的使用也就是Student如果说你要给Person赋值的话得明确表示。s.Person.name“张三”。 五、 其它匿名字段 1. 非结构体类型 所有的内置类型和自定义类型都是可以作为匿名字段的 type mystr string//自定义类型 type Person struct {name stringsex byteage int } type Student struct {Person //匿名字段结构体类型int //匿名字段内置类型mystr //匿名字段自定义类型 } func main() {//初始化s1 : Student{Person{mike,m,18},1,bj}//{Person:{name:mikesex:109age:18}int:1mystr:bj}fmt.Printf(%v\n,s1)//成员的操作打印结果mike,m,18,1,bjfmt.Printf(%s,%c,%d,%d,%s\n,s1.name,s1.sex,s1.age,s1.int,s1.mystr) }不一样要结构体才能作为匿名字段其实定义一个类型也是一样的。 2. 结构体指针类型 type Person struct { //人name stringsex byteage int } type Student struct {//学生*Person //匿名字段结构体指针类型id intaddr string } func main() {//初始化s1 : Student{Person{mike,m,18},1,bj}//{Person:0xc0420023e0id:1addr:bj}fmt.Printf(%v\n,s1)//mike,m,18fmt.Printf(%s,%c,%d\n,s1.name,s1.sex,s1.age)//声明变量var s2 Students2.Person new(Person)//分配空间s2.name yoyos2.sex fs2.age 20s2.id 2s2.addr sz//yoyo10220220fmt.Println(s2.name,s2.sex,s2.age,s2.id,s2.age) }
http://www.dnsts.com.cn/news/169672.html

相关文章:

  • 重庆市门户网站制作做珠宝的网站
  • 广州白云建方舱医院什么是优化
  • 广西住房建设厅网站首页网站建设服务费计入会计科目
  • wordpress手机号网站适合文章的wordpress
  • 旅游集团网站建设wordpress图片懒加载
  • 上海免费做网站公司万网一个ip建立多个网站
  • 主页值得是网站的主要内容所在页手机网页图片
  • 广告推广平台有哪些潍坊网站建设优化排名
  • 室内设计培训机构排行站长工具查询seo
  • 网站推广工具大全wordpress电影主题
  • 如何做直播做菜视频网站想找人做公司网站要注意什么
  • 怎么做黑客攻击网站淄博瓷砖网站建设中企动力
  • 上海网站营销seo方案嘉兴做网站多少钱
  • 全国集团网站建设给小学生做家教的网站
  • 宜春做网站公司怎么样做网站有自己的服务器吗
  • 网站建设网上商城心得体会dede如何生成网站源码
  • 查数据的权威网站如何开通一个微商城
  • 做免费外贸网站册域名WordPress开发微信支付
  • seo网站内部优化方案租房子58同城
  • 韩国风格网站整站源码视频网站如何赚钱
  • 怎么做英文版的网站wordpress 可爱插件
  • 郑州seo网站排名优化公司易语言和网站做交互
  • 专题网站开发报价深圳做网站可用乐云seo十年
  • 可以上传自己做的视频的网站苏州高端网站制作
  • 梅州建站推荐帮别人做网站赚多少钱
  • 网站建设公司主要网站 网页制作
  • 净水 技术支持 东莞网站建设网站是用sql2012做的_在发布时可以改变为2008吗
  • 做微信头图的网站网站优化公司 网络服务
  • 手机网站底部电话邹城网站制作
  • 网站 流量攻击松岗做网站公司