| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | package mainimport "fmt"// обычное объявлениеfunc singleIn(in int) int {	return in}// много параметровfunc multIn(a, b int, c int) int {	return a + b + c}// именованный результатfunc namedReturn() (out int) {	out = 2	return}// несколько результатовfunc multipleReturn(in int) (int, error) {	if in > 2 {		return 0, fmt.Errorf("some error happend")	}	return in, nil}// несколько именованных результатовfunc multipleNamedReturn(ok bool) (rez int, err error) {	rez = 1	if ok {		err = fmt.Errorf("some error happend")		// аналогично return rez, err		return 3, fmt.Errorf("some error happend")		return	}	rez = 2	return}// не фиксированное количество параметровfunc sum(in ...int) (result int) {	fmt.Printf("in := %#v \n", in)	for _, val := range in {		result += val	}	return}func main() {	// fmt.Println(multipleNamedReturn(false))	// return	nums := []int{1, 2, 3, 4}	fmt.Println(nums, sum(nums...))	return}
 |