Swift 5, Xcode 10.
Я зацикливаюсь на массиве строк (размер, вероятно, <20), каждая из которых выглядит примерно так: </p>
johnsmith.20190202102030.conf
janedoe.19700101115959.conf
Я знаюпервая часть (имя) заранее, но нужно извлечь среднюю часть (день рождения: длина 8, 12 или 14 символов).
версия 1:
let f = "johnsmith.20190202102030.conf"
let name = "johnsmith"
let start = f.index(f.startIndex, offsetBy: name.count+1)
let end = f.index(f.startIndex, offsetBy: f.count-5)
let birthday = String(f[start..<end])
версия 2:
let f = "johnsmith.20190202102030.conf"
let farr = f.split(separator: ".").map(String.init)
let birthday = farr[1]
В настоящее время я делаю это только для 10 струн и (конечно) не заметил никакой разницы в скорости.Даже с 100 строками, вероятно, в любом случае не будет большой разницы, но мне любопытно:
Игнорирование длины кода и потенциальных ошибок, есть ли причина (кроме личных предпочтений), чтобы предпочесть использованиеодна версия над другой (например, скорость с 100k строк - я не прошу фактических измерений!)?