首选定义一个接口 WalkRun 他有2个方法walk和Run,如下面的代码所示
type WalkRun intyerface{
walk()
Run()
}
现在可以让结构体person实现这个接口了,如下所示
func( p *person) Walk(){
fmt.Printf("%s能走\n",p.name)
}
func(p*person) Run(){
fmt.Printf("%s能跑\n",p.name)
}
关键点在于,让接口的每个方法都实现,也就是实现了这个接口
提示: %s 是占位符,和p.name 对应,也就是p,name的值,具体可以参考fmt.printf函数的文档
错误
在Go语言中,错误是可以预期的,并且不是非常严重,不会影响程序的运行,对应这类的问题,可以用返回错误给调用者的方法,让调用者自己决定如何处理
error 接口
在Go语言中,错误是通过内置的error接口表示的,他非常简单,只有一个Error方法用来返回具体的错误信息,如下面的代码所示
type error interface{
Error() string
}
在下面的代码中,演示一个字符串转整数的例子
package main
import (
"fmt"
"strconv"
)
func main() {
i, err := strconv.Atoi("a")
if err != nil {
fmt.Println(err)
} else {
fmt.Println(i)
}
}
网友评论