func (m matchComparer) Less(p1, p2 imagespec.Platform) bool {
	m1, m2 := m.Match(p1), m.Match(p2)
	if m1 && m2 {
		r1, r2 := revision(p1.OSVersion), revision(p2.OSVersion)
		return r1 > r2
	}
	return m1 && !m2
}
Less sorts matched platforms in front of other platforms.
For matched platforms, it puts platforms with larger revision
number in front.
package platforms
import (
	"fmt"
	"runtime"
	"strconv"
	"strings"
	imagespec "github.com/opencontainers/image-spec/specs-go/v1"
	specs "github.com/opencontainers/image-spec/specs-go/v1"
	"golang.org/x/sys/windows"
)
type matchComparer struct {
	defaults        Matcher
	osVersionPrefix string
}
func (m matchComparer) Match(p imagespec.Platform) bool {
	if m.defaults.Match(p) {
		return strings.HasPrefix(p.OSVersion, m.osVersionPrefix)
	}
	return false
}