Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

main.go
package main

import (
	"fmt"
	"sort"
)

func main() {
	var horses int
	fmt.Println("How many horse are in the race?")
	fmt.Scan(&horses)

	power := make([]int, horses)
	for i := 0; i < horses; i++ {
		fmt.Printf("Horse[%d] power: ", i)
		fmt.Scan(&power[i])
	}
	fmt.Println(HorseDuals(horses, power))
}

func SlowHorseDuals(lovak int, loero []int) (szoros int) {
	szoros = Abs(loero[0] - loero[1])
	for key, value := range loero {
		for i := key + 1; i < lovak; i++ {
			if Abs(value-loero[i]) < szoros {
				szoros = Abs(value - loero[i])
			}
		}
	}
	return
}

func HorseDuals(lovak int, loero []int) (szoros int) {
	sort.Ints(loero)
	szoros = Abs(loero[0] - loero[1])
	for i := 2; i < lovak; i++ {
		diff := Abs(loero[i-1] - loero[i])
		if diff < szoros {
			szoros = diff
		}
	}
	return
}

func Abs(x int) int {
	if x < 0 {
		return -x
	}
	return x
}