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

企业网站管理系统模板新注册公司一年费用

企业网站管理系统模板,新注册公司一年费用,南通制作网站公司,河南 医院 网站建设go语言并没有面向对象的相关概念#xff0c;go语言提到的接口和java、c等语言提到的接口不同#xff0c;它不会显示的说明实现了接口#xff0c;没有继承、子类、implements关键词。go语言通过隐性的方式实现了接口功能#xff0c;相对比较灵活。 interface是go语言的一大…go语言并没有面向对象的相关概念go语言提到的接口和java、c等语言提到的接口不同它不会显示的说明实现了接口没有继承、子类、implements关键词。go语言通过隐性的方式实现了接口功能相对比较灵活。 interface是go语言的一大特性主要有以下几个特点 interface 是方法或行为声明的集合interface接口方式实现比较隐性任何类型的对象实现interface所包含的全部方法则表明该类型实现了该接口。interface还可以作为一中通用的类型其他类型变量可以给interface声明的变量赋值。interface 可以作为一种数据类型实现了该接口的任何对象都可以给对应的接口类型变量赋值。 下面是一些代码示例 接口实现 package mainimport fmttype Animal interface {GetAge() int32GetType() string }type Dog struct {Age int32Type string }func (a *Dog) GetAge() int32 {return a.Age } func (a *Dog) GetType() string {return a.Type }func main() {animal : Dog{Age: 20, Type: DOG}fmt.Printf(%s max age is: %d, animal.GetType(), animal.GetAge())}interface作为通用类型 package mainimport (fmtreflect )type User struct {Id intName stringAmount float64 }func main() {var i interface{}i stringfmt.Println(i)i 1fmt.Println(i)i User{Id: 2}//i.(User).Id 15 //运行此处会报错在函数中修改interface表示的结构体的成员变量的值编译时遇到这个编译错误cannot assign to i.(User).Idfmt.Println(i.(User).Id)}注意: 不可用i:interface{} 这种形式因为不能确定i的具体类型会报type interface {} is not an expression 错误。 interface接口查询 接口查询在一个接口变量中查询所赋值的对象有没有实现其他接口所有的方法的过程就是查询接口。即接口A实现了接口B中所有的方法那么通过查询赋值A可以转化为B。 代码示例 package mainimport fmttype Animal interface {GetAge() int32GetType() string } type AnimalB interface {GetAge() int32 }type Dog struct {Age int32Type string }func (a *Dog) GetAge() int32 {return a.Age } func (a *Dog) GetType() string {return a.Type }func main() {var animal Animal Dog{Age: 20, Type: DOG}fmt.Printf(%s max age is: %d, animal.GetType(), animal.GetAge())var animalb AnimalB Dog{Age: 20, Type: DOG}fmt.Printf(max age is: %d, animalb.GetAge())//这里实现了animalb 转化Animal接口val, ok : animalb.(Animal)if !ok {fmt.Println(ok)} else {fmt.Printf(%s max age is: %d, val.GetType(), val.GetAge())} } 接口转化很简单 val, ok : animalb.(Animal)注意animalb 只有AnimalB所包含的方法GetAge()。 如果接口A的方法列表是接口B的方法列表的子集那么接口B可以赋值给接口A反之则不行。 接口类型查询 只能对interface{}类型的变量使用类型查询 示例 package mainimport fmttype Animal interface {GetAge() int32GetType() string } type AnimalB interface {GetAge() int32 }type Dog struct {Age int32Type string }func (a *Dog) GetAge() int32 {return a.Age } func (a *Dog) GetType() string {return a.Type }func main() {var i interface{}//i ok//方法一val, ok : i.(Animal)if !ok {fmt.Println(no)} else {fmt.Println(val.GetAge())}// 方法二switch val : i.(type) {case string:fmt.Println(val)case int:fmt.Println(val)default:fmt.Println(val)}// 方法三 通过反射typename : reflect.TypeOf(i)fmt.Println(typename) } interface默认nil所以查出是nil如果给i赋值一个字符型值去掉i ok前面的注释则返回 no ok string
http://www.w-s-a.com/news/706166/

相关文章:

  • 沈阳网站建设联系方式尉氏县金星网架公司
  • 医院网站建设实施方案基础微网站开发信息
  • 网站建设开发服务费记账百度指数搜索
  • 网站建设备案流程windows优化大师有必要安装吗
  • 怎么网站定制自己做网站卖视频
  • 网站开发二线城市网站制作过程中碰到的问题
  • 最好网站建设公司制作平台小程序开发教程资料
  • 陕西省高速建设集团公司网站国内做会展比较好的公司
  • 建设学校网站的原因网页设计实训报告1500
  • 网站建设客户来源江门网站设计华企立方
  • 自己如何做棋牌网站宁波网络推广优化方案
  • 深圳招聘网站推荐seo网站推广方案
  • 彩票网站开发 合法学术会议网站建设
  • 商务网站建设论文答辩pptseo技术博客
  • 怎样才能有自己的网站桂林搭建公司
  • 哪个网站做视频赚钱万科
  • 莆系医疗网站建设wp如何做网站地图
  • 网站建设应急处置方案团购网站 备案问题
  • 网站建设 岗位职责浙江中天建设集团有限公司网站
  • 西海岸建设局网站用wordpress建站学什么
  • 网站静态和动态学校网站建设流程步骤
  • 做群头像的网站在线怎么做俄语网站
  • 西安网站定制开发国内cms推荐
  • windows网站建设教程视频教程wordpress默认用户头像
  • 做网站需要什么软件wordpress会员邮件通知
  • 技术支持网站合肥网站搭建
  • 无为网站设计免费制作企业网站平台
  • 社交网站第一步怎么做房屋装修效果图用什么软件
  • 企业网站 批量备案合肥 网站建设
  • 如何提高网站索引量室内设计师之路网站