sort.Interface требует три метода: Len() int, Less(i, j int) bool, Swap(i, j int). Определяешь тип-обёртку для слайса: type ByAge []Person. Реализуешь: Len — return len(s), Less — return s[i].Age < s[j].Age, Swap — s[i], s[j] = s[j], s[i]. Вызываешь sort.Sort(ByAge(people)). С Go 1.8+ проще: sort.Slice(people, func(i, j int) bool { return people[i].Age < people[j].Age }). А с Go 1.21+ ещё проще: slices.SortFunc. Но знать sort.Interface надо — он показывает идиому Go интерфейсов.