当前位置: 首页 > 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.huolong8.cn/news/57924/

相关文章:

  • 网站设计实用实例新建网站费用
  • 用asp.net做的购物网站房地产三道红线
  • 集团网站建设公司聊城网站开发培训
  • 淘宝网站建设好评语怎么做自适应的网站
  • 做网站哪家好免费网站建设服务
  • 湖南郴州建设局网站福建高速公路建设指挥部网站
  • 充电网站建设方案网站建设的方法步骤
  • 购买模板做网站先备案 做网站
  • 网站做一个要多少钱wordpress登录注册界面
  • 网站建设外包服务公司创业计划书vps网站目录权限设置
  • 无锡新区建设环保局网站软文外链购买平台
  • 管家婆crm123696飞猪关键词排名优化
  • 网站建设需要掌握什么技术网站维护具体做啥
  • 网站建设启动大会企业建站个人建站源码
  • 机电工程栏建设项目网站建设邢台专业网站建设公司
  • 微信公众平台网站开发天津市建设工程合同备案网站
  • 免费网站模板库专业建站服务公司
  • 创业 建网站网站 开发
  • 自己建设外贸网站网站站内文章互联
  • 电视台视频网站建设方案茶网站建设宗旨
  • 北湖建设局网站网站怎么做微信送红包活动
  • 九年级上册信息技术做网站建立网站建设
  • 威海网站设计公司招商网代理
  • 自己怎么建立自己的国际网站网站开发名词解释
  • 唐山做网站汉狮网络泉港网站建设推广服务公司
  • 网站建设的申请网站备案和备案的区别
  • 深圳网站建设服务温州网站外包
  • 网站建设写代码自己怎么创业惠州网站制作
  • 企业网站设计风格网站型销售怎么做
  • 做一元购物网站网站上的销售怎么做