您现在的位置是:主页 > news > 网站首页上的动画是咋做的/seo咨询推广找推推蛙

网站首页上的动画是咋做的/seo咨询推广找推推蛙

admin2025/5/6 22:05:35news

简介网站首页上的动画是咋做的,seo咨询推广找推推蛙,苏州网站建设设计制作公司怎么样,公司名字大全参考2023实现全部空接口类型的方法 定义空接口类型&指定实现方法 type Study interface {Listen(msg string) stringSpeak(msg string) stringRead(msg string) stringWrite(msg string) string }限制实现所有方法 运行时阶段 第一种是在运行阶段,运行的时候,地址做对…

网站首页上的动画是咋做的,seo咨询推广找推推蛙,苏州网站建设设计制作公司怎么样,公司名字大全参考2023实现全部空接口类型的方法 定义空接口类型&指定实现方法 type Study interface {Listen(msg string) stringSpeak(msg string) stringRead(msg string) stringWrite(msg string) string }限制实现所有方法 运行时阶段 第一种是在运行阶段,运行的时候,地址做对…

实现全部空接口类型的方法

定义空接口类型&指定实现方法

type Study interface {Listen(msg string) stringSpeak(msg string) stringRead(msg string) stringWrite(msg string) string
}

限制实现所有方法 运行时阶段

第一种是在运行阶段运行的时候,地址做对比,强类型语言,类型做对比.将*study的地址给了Study,而Study是interface{}类型,必须实现所有方法

package mainvar _ Study = (*study)(nil)type Study interface {Listen(msg string) stringSpeak(msg string) stringRead(msg string) stringWrite(msg string) string
}type study struct {Name string
}func (s *study) Listen(msg string) string {return s.Name + " 听 " + msg
}func (s *study) Speak(msg string) string {return s.Name + " 说 " + msg
}func (s *study) Read(msg string) string {return s.Name + " 读 " + msg
}//func (s *study) Write(msg string) string {
//	return s.Name + " 写 " + msg
//}func main() {}

在这里插入图片描述

第二种 编译阶段

任何类型都实现interface类型,所以当bb实现aa的时候要实现,就必须实现所有的属性

如果说次接口没有被实现,那么一方面ide会有红横线出现,另一方面在编译的时候会出现报错。两方面的提示来保证写底层代码的接口是有被实现的。

package maintype aa interface {listen(msg string) string
}var _ aa = new(bb)type bb struct {
}//func (b *bb) listen(msg string) string {
//	return ""
//}

如果没实现
在这里插入图片描述

new 和make

new占内存?
new:申请了内存,但是不会将内存初始化,只会将内存置零,返回一个指针。

make:申请了内存,返回已初始化的结构体的零值。
在这里插入图片描述

new 和make 的区别

new 返回的是地址
make 返回的内存空间

package mainimport "fmt"func main() {a1 := new([]int)a2 := &[]int{}a3 := make([]int, 0)fmt.Println(a1, a2, a3, a1 == a1)fmt.Println(a1 == a2)
}

结果

&[] &[] [] true
false

第三种

第儿种是在运行调用阶段调用此方法的时候没有实现

package mainimport "fmt"//var _ Study = (*study)(nil)type Study interface {Listen(msg string) stringSpeak(msg string) stringRead(msg string) stringWrite(msg string) string
}type study struct {Name stringStudy
}//func (s *study) Listen(msg string) string {
//	return s.Name + " 听 " + msg
//}func (s *study) Speak(msg string) string {return s.Name + " 说 " + msg
}func (s *study) Read(msg string) string {return s.Name + " 读 " + msg
}//func (s *study) Write(msg string) string {
//	return s.Name + " 写 " + msg
//}func main() {studys := new(study)studys.Write("rt")fmt.Println(*studys)studys = studys
}

在这里插入图片描述
一般grpc的方法实现用的是这个