A Diff is a replacement of a portion of A by a portion of B.
type Diff struct {
Start, End int // offsets of portion to delete in A
ReplStart, ReplEnd int // offset of replacement text in B
}
func DiffBytes(a, b []byte) []Diff
DiffBytes returns the differences between two byte sequences. It does not respect rune boundaries.
func DiffRunes(a, b []rune) []Diff
DiffRunes returns the differences between two rune sequences.