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

江西医疗网站备案前置审批拍艺术照

江西医疗网站备案前置审批,拍艺术照,潍坊网站制作培训,怎么开发一个小程序一、GoLang 接口的定义 1、GoLang 中的接口 在 Go 语言中接口#xff08;interface#xff09;是一种类型#xff0c;一种抽象的类型接口#xff08;interface#xff09;定义了一个对象的行为规范#xff0c;只定义规范不实现#xff0c;由具体的对象来实现规范的细节…一、GoLang 接口的定义 1、GoLang 中的接口 在 Go 语言中接口interface是一种类型一种抽象的类型接口interface定义了一个对象的行为规范只定义规范不实现由具体的对象来实现规范的细节实现接口的条件 一个对象只要全部实现了接口中的方法那么就实现了这个接口换句话说接口就是一个需要实现的方法列表 2、定义一个 Usber 接口 定义了一个 Usber 接口让 Phone 和 Camera 结构体实现这个接口 package mainimport fmt//1、接口是一个规范 type Usber interface {start()stop() }//2.如果接口里面有方法的话必要通过结构体或通过自定义类型实现这个接口 type Phone struct{Name string }//3.手机摇实现 usb 接口的话必须先实现 usb 接口中的所有方法 func (p Phone) start() {fmt.PrintIn(p.Name,启动) } func (p Phone) stop() {fmt.PrintfIn(p.Name,关机) }func main() {p : Phone{Name : 华为手机}var p1 Usber //golang中几口就是一个数据类型p1 pp1.start()p1.stop() } /* 华为手机 启动 华为手机 关机*/ 二、空接口 1、空接口说明 golang 中空接口也可以之间当做类型来使用可以表示任意类型Golang 中的接口可以不定义任何方法没有定义任何方法的接口就是空接口空接口表示没有任何约束因此任何类型变量都可以实现空接口空接口在实际项目中用的是非常多的用空接口可以表示任意类型数据 2、空接口作为函数的参数 package mainimport fmt//空接口作为函数的参数func show (a interface{}){fmt.Printf(值%v,类型%T\n,a,a) }func main(){show(20) //值20类型intshow(你好 golang) //值您好 golang 类型stringslice : []int{1,2,34,5}show(slice) //值[1 2 34 5] 类型[]int } 3、切片实现空接口 package mainimport fmtfunc main() {var slice []interface{}{Snail,20,true,32.2}fmt.PrintIn(slice) //[Snail 20 true 32.2] } 4、map 的值实现空接口  package mainimport fmtfunc main() {//空接口作为 map 值var studentInfo make(map[string]interface{})studentInfo[name] SnailstudentInfo[age] 18studentInfo[married] falsefmt.PrintIn(studentInfo)// [age:18 married:false name:Snail] } 三、类型断言 一个接口的值简称接口值是由一个具体类型和具体类型的值两部分组成的这两部分分别称为接口的动态类型和动态值如果我们想要判断空接口中值的类型那么这个时候就可以使用类型断言其语法格式x.(T) x:表示类型为 interface{}的变量T表示断言x 可能是的类型 package mainimport fmtfunc main() {var x interface {}x hello golangv,ok :x.(string)if ok {fmt.PrintIn(v)}else {fmt.PrintIn(非字符串类型)} } 四、值接收者和指针接收者 1、值接收者 如果结构体中的方法是值接收者那么实例化后的结构体值类型和结构体指针类型都可以赋值给接口变量 package mainimport fmttype Usb interface {Start()Stop() } type Phone struct {Name string } func (p Phone) Start() {fmt.PrintIn(p.Name,开始工作) } func (p Phone) Stop() {fmt.Println(phone 停止) }func main() {phone1 : Phone{Name:华为手机}var p1 Usb phone1 //phone1 实现了 Usb接口 phone1 是 Phone 类型p1.Start()phone2 : Phone{ //华为手机开始工作Name:苹果手机}var p2 Usb phone2 //phone2 实现了 Usb 接口 phone2 是 *Phone 类型p2.Start() }2、指针接收者 如果结构体中的方法是指针接收者那么实例化后结构体指针类型都可以赋值给接口变量结构体值类型没法赋值给接口变量 package main import fmt type Usb interface {Start()Stop() } type Phone struct {Name string } func (p *Phone) Start() {fmt.Println(p.Name, 开始工作) } func (p *Phone) Stop() {fmt.Println(phone 停止) } func main() {/*错误写法phone1 : Phone{Name: 小米手机,}var p1 Usb phone1p1.Start()*///正确写法phone2 : Phone{Name: 苹果手机,}var p2 Usb phone2 //phone2 实现了 Usb 接口 phone2 是 *Phone 类型p2.Start()//苹果手机 开始工作 } 五、一个结构体实现多个接口 Golang 中一个结构体也可以实现多个接口 package mainimport fmttype AInterface interface {GetInfo() string } type Binterface interface {SetInfo(string,int) } type People struct{Name stringAge int }func (p People) GetInfo() string(){return fmt.Sprintf(姓名%v 年龄%d,p.Name,p.Age) }func (p *People) SetInfo(name string, age int) {p.Name namep.Age age }func main() {ver people People{Name:Snail,Age: 20,}// people实现了 Ainterface 和 Binterfacevar p1 AInterface peoplevar p2 Binterface peoplefmt.PrintIn(p1.GetInfo()) //姓名Snail 年龄20p2.SetInfo(pupu,21)fmt.PrintIn(p1.GEtInfo) //姓名pupu 年龄21 } 六、接口嵌套 接口与接口间可以通过嵌套创造出新的接口 package main import fmttype SayInterface interface {say() }type MoveInterface interface {move() }//接口嵌套 type Animal interface {SayInterfaceMoveInterface } type Cat struct {name string } func (c Cat) say() {fmt.PrintIn(喵喵喵) } func (c Cat) move(){fmt.PrintIn(猫会动) } func main() {var x Animalx Cat{name: 花花}x.move() // 猫会动x.say() // 喵喵喵 }
http://www.yutouwan.com/news/57924/

相关文章:

  • asp网站配置典型的网站开发人员
  • 沈阳做公司网站的公司无锡企业网站设计公司
  • 工作做ppt课件的网站2000个免费货源网站
  • 网站建设淘宝模板宁波企业seo外包
  • 怎么筛选一家做网站做的好的公司重庆网站建设优斗士
  • 响应式网站开发哪家好设计精美的中文网站
  • 无锡公司建立网站做跨境的网站有哪些
  • 网站建设能解决哪些问题大连甘井子区地图
  • 西安网站排名优化做效果图网站有哪些
  • 微网站缺点网站重定向怎么做
  • 企业网站建设需要哪些步骤科技部网站
  • 视频网站开发教程我花钱买了一个函授本科
  • app网站建设需要什么软件最有性价比的网站建设
  • 网站建设技术架构和语言网站建设过程与思路
  • 推广app网站企业网站设计报名
  • 网站开发建设与维护邯郸网站建设安联网络公司
  • 著名网站设计师c 手机版网站开发
  • 电子商务与网站建设嘉兴网站建设哪家做得好
  • 网站监控 重启企业官网如何设计
  • 网站如何做搜狗搜索引擎上海闵行邮编
  • 网站建设 中企动力wordpress 优酷去广告插件
  • 公司内部网站管理系统天天广告联盟
  • 一个网站如何做cdn加速器西安大兴医院网站建设
  • 都是做面食网站建设工程合同在性质上属于什么合同
  • 养生网站建设河南郑州建设网站制作
  • 专业网站设计公司排名外贸服装商城网站建设
  • 关于网站建设管理工作的报告修改散文网站
  • 如何做同城信息网站wordpress post编辑
  • 网站服务器上线后要怎么做软件开发app开发定制外包99
  • 网站建设 洪塔福田网站制作比较好的