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

成都网站制作维护aso应用商店优化原因

成都网站制作维护,aso应用商店优化原因,wordpress 防cc,深圳宝安快餐服务200便宜面向对象Golang接口的定义go中类空接口空接口作为函数的参数切片实现空接口map的值实现空接口类型断言值接收者和指针接收者值接收者指针接收者接口嵌套Golang接口的定义 接口interface是一种抽象的类型。接口定义了一个对象的行为规范#xff0c;只定义规范不实现#xff0… 面向对象Golang接口的定义go中类空接口空接口作为函数的参数切片实现空接口map的值实现空接口类型断言值接收者和指针接收者值接收者指针接收者接口嵌套Golang接口的定义 接口interface是一种抽象的类型。接口定义了一个对象的行为规范只定义规范不实现由具体的对象来实现规范的细节。一个对象只要全部实现了接口中的方法那么就实现了这个接口。 看一个接口示例 package mainimport fmt// 1.接口时一个规范 type Usber interface {start()stop() }// 2.如果接口里面有方法的话必须要通过结构体或者通过自定义类型实现这个接口 type Phone struct {Name string }// 3.手机要实现usb借口的话必须实现usb接口中所有方法 func (p Phone) start() {fmt.Println(p.Name, 启动) } func (p Phone) stop() {fmt.Println(p.Name, 关机) }func main() {p : Phone{Name: 小米手机}var p1 Usber // 接口就是一个数据类型p1 p // 表示手机实现Usb接口p1.start()p1.stop() } /* 小米手机 启动 小米手机 关机 */go中类 没有类的概念也不支持类的继承等面向对象的概念。通过结构体内嵌配合接口比面向对象具有更高的扩展性和灵活性。 空接口 golang中空接口也可以直接当做类型使用泛型概念接口可以不定义任何方法没有定义任何方法的接口就是空接口空接口表示没有约束空接口可以表示任意数据类型 空接口作为函数的参数 package mainimport fmt// 空接口作为函数的参数 func show(a interface{}) {fmt.Printf(值%v 类型:%T\n, a, a) }func main() {show(20) // 值20 类型:intshow(你好) // 值你好 类型:stringSlice : []int{1, 2, 3, 4}show(Slice) // 值你好 类型:string }切片实现空接口 package mainimport fmtfunc main() {var Slice []interface{}{张三, 20, true, 20.2}fmt.Println(Slice) // [张三 20 true 20.2]}map的值实现空接口 package mainimport fmtfunc main() {// 空接口作为 map 值var studentInfo make(map[string]interface{})studentInfo[name] 张三studentInfo[age] 10studentInfo[married] falsefmt.Println(studentInfo) // map[age:10 married:false name:张三] }类型断言 一个接口的值是由一个具体类型和具体类型的值两部分组成的。这两部分分别称为接口的动态类型和动态值。如果想要判断空接口中值的类型那么可以使用类型断言。语法格式x.(T)x:表示类型为interfact{}的变量T:表示断言x可能是的类型 package mainimport fmtfunc main() {var x interface{}x hello golangv, ok : x.(string)if ok {fmt.Println(v)} else {fmt.Println(非字符串类型)} } 值接收者和指针接收者 值接收者 package mainimport fmttype Mover interface {move() }type Dog struct { }// 值接收者实现接口 func (d Dog) move() {fmt.Println(狗会动) }func main() {var x Movervar wangcai Dog{} // 旺财是值类型x wangcai // x可以接收Dog类型var fugui Dog{} // 富贵是指针类型x fugui // x可以接收*Dog类型x.move() }/* 用值接收者实现接口后不管是Dog结构体还是结构体指针*Dog类型的变量都可以赋值给该接口变量。 因为Go中有对指针类型变量求值的语法糖Dog指针fugui内部会自动求值*fugui。 */指针接收者 package mainimport fmttype Mover interface {move() }type Dog struct { }// 指针接收者实现接口 func (d *Dog) move() {fmt.Println(狗会动) }func main() {var x Movervar wangcai Dog{} // 旺财是值类型x wangcai // x不可以接收Dog类型var fugui Dog{} // 富贵是指针类型x fugui // x可以接收*Dog类型x.move() } /* Move接口的接收者是指针类型所以不能给x传入Dog类型的wangcai因此x只能存储*Dog类型的值。 */接口嵌套 package mainimport fmttype Sayer interface {say() }type Mover interface {move() }// 接口嵌套 type animal interface {SayerMover }type cat struct {name string }func (c cat) say() {fmt.Println(喵喵喵) }func (c cat) move() {fmt.Println(猫动了) }func main() {var x animalx cat{name: 大橘}x.move()x.say() }
http://www.w-s-a.com/news/798910/

相关文章:

  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站
  • 苏州做物流网站电话郑州网站高端网站设计
  • 网站建设音乐插件怎么弄wordpress添加数据库文件
  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位
  • 网站宣传片3 阐述网站建设的步骤过程 9分
  • 公司网站怎么做站外链接哪里有做胎儿dna亲子鉴定
  • 潍坊做电商的网站建设wordpress 特效主题
  • 做网站和app哪个难公司网上注册系统
  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网
  • 承德网站制作加盟天津做优化的网站有多少家
  • 北京市保障性住建设投资中心网站首页专业做网站联系电话
  • 镇江网站建设方式优化单页面网站教程
  • 做手机网站公司北京网页设计公司兴田德润实惠
  • 域名申请好了 要怎么做网站百度推广开户渠道
  • 电商网站建设 数商云焦作黄河交通学院
  • 做一个网站成本多少太原网站维护
  • 网站建设制作设计优化怎么制作网页步骤
  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网