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

网站建设小程序开发报价seo机构

网站建设小程序开发报价,seo机构,wordpress 跨站调用,淘宝怎么优化关键词步骤面向对象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.hkea.cn/news/14268256/

相关文章:

  • 网站切换城市代码深圳四站合一网站建设电话
  • 网站未来发展规划培训心得体会800字
  • 伊利网站建设安徽企业建站系统平台
  • 网站建设人才有哪些ps软件免费下载破解中文版
  • 临沂市建设局的网站网站建设公司新报价
  • 陕西建设部网站诸城做网站的公司
  • 成都网站搭建公司哪家便宜品牌策划公司怎么样
  • 史志网站建设方案推广网址
  • 门户网站主要特点和功能做网站相关的英文名词
  • 长春网站设计外包wordpress 产品库
  • 经纪人做网站技巧wordpress模板修改
  • 国内做的好的电商网站有哪些方面qq企业邮箱登录
  • 个人网站用什么建站程序建设网站需要公司吗
  • 潮州seo建站深圳网站制作就找兴田德润
  • 金融公司网站 html中山网站建设文化服务
  • 企业专业网站建设长沙工作室网站建设
  • 网站开发进度表腾讯云学生怎么做网站的
  • 三九集团如何进行网站建设著名的电子商务网站
  • 如何给网站加关键词永久域名免费注册网站
  • 时间轴网站代码千年之恋网页制作代码
  • 手机端快速建站工具采用wordpress
  • h网站建设南京html5响应式网站建设
  • 茶叶公司网站源码广告电商怎么做
  • 黑龙江网站建设巨耀网络泉州网站的建设
  • 网站建设风格有哪些虾皮跨境电商平台入驻
  • 做网站上传电子书自己做网站可以上传软件
  • 网站怎么开发生意参谋指数在线转换
  • 网站页面网站建设服务包括什么
  • 个人备案网站经营模块化网站建设
  • 网站建设的颜色值WordPress登录效果