及早判断错误
package error
import (
"errors"
"testing"
)
var LessThanTwoError = errors.New("n should be not less than 2")
var LargeThanError = errors.New("n should be not more than 100")
func GetFibonacci(n int) ([]int,error){
if n < 2 {
return nil,LessThanTwoError
}
if n > 100 {
return nil,LargeThanError
}
fibList := []int{1,1}
for i:= 2; i < n ; i++{
fibList = append(fibList,fibList[i-2]+fibList[i-1])
}
return fibList,nil
}
func TestGetFibonacci(t *testing.T){
if v,err := GetFibonacci(1);err != nil {
if err == LargeThanError{
t.Error("lager")
}
if err == LessThanTwoError{
t.Error("small")
}
}else{
t.Log(v)
}
}