周威学Go从入门到放弃第四篇(接口定义,异常学习)

使用error需要导入相关的errors包 

package main

import (
	"errors"
	"fmt"
)

type User struct {
	name string
	age  int
}

type UserService interface {
	getUserById(id int) (User, error)
}

type UserServiceImpl struct {
}

func (a UserServiceImpl) getUserById(id int) (User, error) {
	fmt.Println("getUserById")
	return User{"name", 123}, errors.New("Go is an advanced language")
}

func main() {
	var userService UserService
	userService = new(UserServiceImpl)
	u, err := userService.getUserById(1)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(u)
}

猜你喜欢

转载自blog.csdn.net/iphone4grf/article/details/81514430