問題一覧
1
напиши структуру с анонимными полями
type hum struct { string int book } нельзя два одинаковых типа
2
если совпадающие поля то
требуется явное обращение по всем полям структур
3
создание экземпляра с встраиванием структур
см фото
4
встроенные структуры(реализация наследования в го)
type builtStuct struct{ a string b string namebuiltStruct//название структуры встроенной }
5
можно ли изменять состояния?
да, получив доступ через . можно произвести изменениия
6
доступ к состояниям
stud:=student{"Vova","Ivanov", 19} для получения доступа к состоянию используйте stud.firstname) другими словами название переменной точка поле состояния
7
явное определение структуры
type nameStruct struct { a string b string age int }
8
создание экземпляра влож.структуры:
см фотр
9
напиши экземпляр структуры с анонимным полями
hum:=&human{ string: "aaaa", int: -1, bool: true, }
10
создание представителей структуры
stud1:=student{ firstname:"fedya", lastname:"petrov", age: 21 }
11
вложенные структуры это
использование одной структуры как тип поля в другой структуре type univer struct{ a string b string c int } type prof struct{ a string b string university univer }
12
структура это
заименованный набор полей(свойств/состояний) определяющий новый тип данных
13
сравнение экземпляров структур на == происходит?
явное сравнение всех их полей друг с другом и если одно из всех полей не сравнимо, то и вся структура несравнима
14
как инициализировать пустую структуру?
если есть готовая структура, то через а:=zerostudent{} все состояния структуры будут зеро значения
15
анонимные структуры
anonstudent :=struct { age int groupID int professorName string }{ age:23, groupID: 2, professorName: "Alexeev", } Удобно для определения экземпляра на месте.
16
если имеется ряд состояний одного типа
type stud struct { firstname, lastname, groupname string age, course int }
17
указатели на экземпляры структур
studPointer:=&student записываем в те де поля новые значения и все хорошо
18
работа с доступом к полям структуры stud:= &student(где Студент это структура имеющая поля)
stud:= &student(где Студент это структура имеющая поля) для доступа к полю структуры student используем: stud.запрашиваемоеполе(происходит неявное разименование указателя)
19
увидел ли мы адрес в памяти для структуры?
нет, будет амперсант давать понять о том что это структура
20
что будет если не все поля структуры указать?
заполнится нулевым значениями для типов данных
21
как получить доступ к влож.полям в структуре
nameStruct.namePolyavosnivnoistuct.vlogennoePole
22
для обращения к состояниям встроенной структуры
namemainStruct.namepolebuiltstruct