go的结构体与接口

1.当结构体实现了某个接口的所有方法,结构体指针可转换为接口类型

package main

import "fmt"

type service interface {
	Get(string) (string, error)
	Print()
}

type node struct {
}

func (n *node) Get(in string) (string, error) {
	return in, nil
}
func (n *node) Print() {
	fmt.Println("aaa")
}

func main() {

	var _ service = new(node)

	n := &node{}
	var s service = n
	ret, _ := s.Get("s")
	fmt.Println(ret)

	s.Print()
}

2.结构体内嵌接口类型
2.1结构体内嵌匿名接口

2.2结构体内嵌接口变量

3.结构体内嵌结构体类型
3.1结构体内嵌结构体指针

3.2结构体内嵌结构体

4.接口内嵌接口

5.接口之间强转

6.结构体方法值类型和指针类型

7.匿名结构体与匿名接口

go的结构体与接口

上一篇:C#补全字符串,往字符前补全,向后补全,PadLeft和PadRight固定字符补位


下一篇:Rocket - build - bulid.sbt