Назад к задачам
Вкусвилл АвтомаконПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
11
Что будет напечатано в консоли?
Компании, где спрашивали:
Условие задачи
В задаче рассматривается простая структура Person в Swift, содержащая одно свойство — имя. Создаётся три экземпляра структуры, после чего они помещаются в массив people. Далее имя первого объекта изменяется, а затем массив выводится в консоль. После этого меняется имя первого элемента массива, и массив снова выводится. Нужно понять, как изменятся значения в массиве после изменения переменных, учитывая, что структуры в Swift передаются по значению.
import Foundation
struct Person {
var name: String
init(name: String) {
self.name = name
}
}
func main() {
var first = Person(name: "Alice")
let second = Person(name: "Bob")
let third = Person(name: "Charlie")
var people = [first, second, third] as [Person]
first.name = "John"
for p in people {
print(p.name)
}
people[0].name = "John2"
for p in people {
print(p.name)
}
}
main()