go语言学习笔记——错误处理

126 阅读1分钟

go语言中,很多的函数,会通过函数的返回值进行返回,并不是像其他的编程语言一样,直接抛出异常。

go提供了一套非常简单的错误处理机制,error类型是一个接口类型,定义为:

type error interface {
	Error() string
}

以下是一个斐波那契数列的代码demo:

func GetFeb(n int) ([]int, error) {
	if n < 1 {
		return nil, errors.New("N is cannot less than 1")
	}
	
	if n > 100 {
		return nil, errors.New("N is cannot larger than 100")
	}
	if n == 1 {
		return []int{1}, nil
	}
	if n == 2 {
		return []int{1, 2}, nil
	}
	fib := []int{1, 2}
	for i := 2; i < n; i++ {
		fib = append(fib, fib[i-2]+fib[i-1])
	}
	return fib, nil
}

函数的处理逻辑比较简答,返回值是两个,一个是斐波那契数列的数组,一个就是对于的错误信息

这里需要留意的一点就是,大家的编程习惯,往往是把错误的信息,放到最后面的一个参数进行返回,正常的数据通过前面的参数进行返回