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

做个网站需要多少钱郑州网站设计排行

做个网站需要多少钱,郑州网站设计排行,怎么用ps做网站首页字,公共资源交易中心网本节也是GO核心部分#xff0c;很重要。 注#xff1a;由于导包语句已经在19讲#xff08;笔记19#xff1a;面向对象的引入#xff09;展示过了#xff0c;所以这里就不展示了。 一、定义与实现 (1)接口中可以定义一组方法#xff0c;但不需要实现#xff0c;不需要…本节也是GO核心部分很重要。 注由于导包语句已经在19讲笔记19面向对象的引入展示过了所以这里就不展示了。 一、定义与实现 (1)接口中可以定义一组方法但不需要实现不需要方法体。并且接口中不能包含任何变量。到某个自定义类型要使用的时候(实现接口的时候),再根据具体情况把这些方法具体实现出来。 (2)实现接口要实现所有的方法才算实现。 (3)Golang不需要显式的实现接口。Golang中没有implement关键字Golang中实现接口是基于方法的不是基于接口的例如 A接口a,b方法 B接口a,b方法 C结构体实现了a,b方法那么C实现了A接口也可以说实现了B接口只要实现全部方法即可和实际接口耦合性很低比Java松散得多。 (4)接口目的是为了定义规范具体由别人来实现即可。 示例首先在utils中定义接口结构体及方法 //接口的定义定义一组规则或规范由别人实现 type SayHello interface {Say() //声明没有实现的方法 }//接口的实现1.定义类型这里是结构体 type Chinese struct { } type American struct { }//2.实现接口的方法具体实现 func (c Chinese) Say() {fmt.Println(你好) }func (a American) Say() {fmt.Println(hello) }//定义一个函数专门用于各国人打招呼接收被实现的接口变量 func Greet(s SayHello) {s.Say() }然后在main中调用 func main() {c : utils.Chinese{}a : utils.American{}utils.Greet(c)utils.Greet(a) }可能有些人看到我每次调用utils觉得麻烦那么这里就提一个问题如果用别名比如定义utils.Chinese为Chineseutils.Greet(c)还有效吗答案是否定的因为编译器不认为这两个是同一类型自然也就不认为新的类型实现了接口的方法所以别名定义后新类型也必须实现接口的方法 二、一些细节 【1】接口本身不能创建实例比如在Greet中添加以下代码会有警告 var ss SayHello ss.Say()警告nil dereference in dynamic method call这表示ss是空引用空引用是无法进行任何操作的所以运行原来main中的代码一定会报错。 但是接口可以指向一个实现了该接口的变量比如在main中添加如下代码 var s utils.SayHello c s.Say()这里s接收的不再是空引用而是实现了接口的结构体所以能调用接口的方法注意该类型结构体一定要实现方法不实现没法赋值。 【2】只要是自定义数据类型就可以实现接口不仅仅是结构体类型。示例uitils中的定义为 type MyInt intfunc (i MyInt) Say() {fmt.Println(hello, i) }main中的调用为 func main() {var i utils.MyInt 10i.Say() }【3】一个自定义类型可以实现多个接口示例 uitils中的定义为 type InterA interface {A1() } type InterB interface {B1() } type Stu struct { }func (s Stu) A1() {fmt.Println(run A1) } func (s Stu) B1() {fmt.Println(run B1) }main中的调用为 func main() {s : utils.Stu{}s.A1()s.B1() }【4】一个接口可以继承多个接口,这时如果要实现该接口必须将继承接口的方法都实现。示例uitils中的定义为 type InterC interface {InterAInterBC1() }func (s Stu) C1() {fmt.Println(run C1) }main中的调用为 func main() {s : utils.Stu{}s.A1()s.B1()s.C1() }【5】空接口可以接收所有类型未实现的非空接口除外可以理解为所有类型都实现了空接口。由于这个比较简单我就直接在main中写了用到了可变参数涉及的知识点丰富 func printInf(inf ...interface{}) {for _, value : range inf {fmt.Printf(%T , value)} } func main() {// 整浮字符串布数组函数指针切片映射结构体intg, float, str, b, arr : 1, 1.1, 1, true, [1]int{1}pointer, slice, fun : new(int), arr[:], func() {}mapp, stct : make(map[string]int, 2), utils.Stu{}// 创建一个切片包含所有变量inf : []interface{}{intg, float, str, b, arr, pointer, slice, fun, mapp, stct}// 传递切片作为参数注意加上...将切片展开printInf(inf...) }程序输出为 int float64 string bool [1]int *int []int func() map[string]int utils.Stu
http://www.sczhlp.com/news/193229/

相关文章:

  • 华为商城网站建设wordpress 下载附件
  • 旅游网站建设的可行性分析网页设计素材app
  • 外贸建站模板价格梅州正在建设高铁线路
  • 徐州教育平台网站建设谁有那种手机网站
  • 网站上怎么做微信支付接口电子贺卡怎么制作
  • 建筑设计网站网址网站技术报务费如何做会计分录
  • 中山网站排名vue.js2.5 pc网站开发
  • 公司的网站怎么建设潍坊网站建设套餐
  • 软件网站开发甘肃windows做网站服务器吗
  • 宁波网站建设设计公司利尔化学股票
  • 简单网站建设视频百度账号注销
  • 做网站资讯运营网站关键词优化技巧
  • 建站平台需要授权吗考研哪个培训机构比较好
  • 网站建设软件培训学校阳春做网站公司
  • 国外 电子 商务 网站 欣赏wordpress 图片alt
  • 功能点计算方法 网站开发网站项目设计与制作
  • 服务器做网站电子商务网站开发的题
  • 料远若近网站建设上海市建交人才网
  • 汉服网站设计模板网站建设人员考核
  • 苏中建设网站价格低的成语
  • 怎么做网站代销网上国网推广宣传语
  • 中小型网站建设与管理 唐军民深圳地图
  • i网站建设青岛seo计费
  • jquery插件 wordpress整站优化该怎么做
  • 网站后台改版面上海网站网站建设
  • 深圳高端网站设计成都住房和城乡建设厅官网
  • 口腔建立网站微网页制作专业公司
  • 网站制作网站做网一键生成logo免费图
  • 网站登不了企业建设网银快速搭建网站工具
  • 网站建设规划要点详解好的公众号