Как назначить значения по умолчанию для полей структуры в Golang?

Kak Naznacit Znacenia Po Umolcaniu Dla Polej Struktury V Golang



Golang — это современный язык программирования, набравший популярность в последние годы. Одной из мощных функций Golang является его способность определять структуры и манипулировать ими. Структуры — это определяемые пользователем типы данных, которые позволяют разработчикам группировать связанные поля данных в один объект. В Го, структуры могу иметь значения по умолчанию присваиваются их полям, что значительно упрощает их инициализацию.

В этом эссе мы рассмотрим, как назначить значение по умолчанию для поля структуры в Golang.

Что такое структурные поля?

Во-первых, необходимо понять понятие поля структуры . поля структуры переменные, которые сгруппированы для формирования структура объект. Каждый поле структуры имеет имя и тип данных. Например, структура, представляющая человека, может иметь такие поля, как имя, возраст и пол.







Как назначить значения по умолчанию для полей структуры в Golang?

Значения по умолчанию может быть назначен для полей структуры в Go, используя:



  • Нулевые значения по умолчанию
  • Конструкторы
  • Структурные литералы
  • Значения поля по умолчанию

1: Нулевые значения по умолчанию

В Go назначение значений по умолчанию для полей структуры может быть достигнуто с помощью « нулевое значение ' особенность. Эта функция автоматически присваивает значение по умолчанию либо « 0 ' или ' ЛОЖЬ ” для каждого неинициализированного поля, в зависимости от типа данных. Это означает, что вам не нужно явно задавать значения по умолчанию для каждого поля в структуре, так как Go сделает это за вас.



Эта функция может пригодиться при работе с большими структурами с большим количеством полей, поскольку она экономит время и усилия, связанные с ручной установкой значений по умолчанию для каждого поля.





Вот пример, который использует нулевое значение для назначения значений по умолчанию для полей структуры:

основной пакет

Импортировать 'ФМТ'

тип Структура человека {
Строка имени
Возраст   целое число
Высота поплавка64
IsMale bool
}

основная функция ( ) {
p1 := человек { Имя: 'Джон' , Возраст: 30 }
fmt.Println ( p1.Имя )
fmt.Println ( p1.Возраст )
fmt.Println ( p1.Высота )
fmt.Println ( p1.IsMale )
}

Приведенный выше код определяет Person структура с четырьмя полями: Name, Age, Height и IsMale, все из которых имеют тип данных bool. Затем мы создаем новый экземпляр класса Person, p1, и инициализируем некоторые из его полей, используя структурные литералы для указания имен и значений полей. нулевые значения по умолчанию поскольку поля, которые не были явно заданы во время инициализации, отображаются при печати значений полей с помощью fmt.Println .



Выход

2: Конструкторы

Написав конструктор для структуры, вы также можете указать значения по умолчанию для полей структуры в Golang. конструктор Функция создает новый экземпляр структуры и устанавливает значения по умолчанию для ее полей. Этот метод экономит усилия и время, особенно при взаимодействии с огромными структурами с многочисленными полями.

Вот пример того, как определить конструктор функция со значениями поля по умолчанию для структуры:

основной пакет

Импортировать 'ФМТ'

тип Структура человека {
Имя    строка
Возраст     цел.
Адресная строка
}
функция NewPerson ( ) * Человек {
возвращаться & Человек {
Имя: 'Джон Доу' ,
Возраст: 30 ,
Адрес: '123 Мэйн Стрит' ,
}
}
основная функция ( ) {
р := Новый Человек ( )
fmt.Println ( п.Имя, п.Возраст, п.Адрес )
}

В приведенном выше коде Человек определена структура, а также новый человек() функция, которая создает новый экземпляр Человек структура с предопределенными значениями по умолчанию. Мы называем новый человек() в основной() для создания нового экземпляра Person с значения поля по умолчанию , а затем распечатываем значения полей этого экземпляра.

Выход

3: Структурные литералы

В Golang вы можете установить значения по умолчанию для полей структуры, используя структурные литералы также. Просто создайте новый экземпляр структуры и установите значения для каждого поля, которое необходимо инициализировать. Если вы хотите установить значения по умолчанию для полей, которые вы явно не инициализируете, вы можете использовать функцию нулевого значения.

Вот пример использования структурные литералы чтобы установить значения полей по умолчанию для структуры:

основной пакет

Импортировать 'ФМТ'

тип Структура человека {
Имя    строка
Возраст     цел.
Адресная строка
}
основная функция ( ) {
р := человек {
Имя: 'Джон Доу' ,
Возраст: 30 ,
}
fmt.Println ( п.Имя, п.Возраст, п.Адрес )
}

В приведенном выше коде мы определяем Человек struct в этом примере и создайте новый ее экземпляр, используя литерал структуры и значения по умолчанию для его полей. новый Человек Экземпляр создается в main() с заполненными значениями некоторых полей и оставленными пустыми. Поскольку Адрес поле не инициализировано, оно получает пустую строку, которая является значением по умолчанию для этого поля. Наконец, мы печатаем значения полей экземпляра Person.

Выход

4: значения поля по умолчанию

Назначение значения по умолчанию к поля структуры в Go — простой процесс. значение по умолчанию для поля структуры можно задать с помощью синтаксиса имя поля: значение по умолчанию . Например, рассмотрим следующее определение структуры:

тип Структура человека {
Строка имени
Возраст
Гендерная строка
}

Назначить значения по умолчанию к полям этой структуры мы можем использовать следующий синтаксис:

р := человек {
Имя: 'Джон Доу' ,
Возраст: 30 ,
Пол: 'Мужской' ,
}

В приведенном выше примере мы присвоили значения по умолчанию в поля структуры Person. Если мы опустим любое из значений во время инициализации, значение по умолчанию вместо этого будет использоваться. Например, если мы инициализируем объект Person следующим образом:

р := человек {
Имя: 'Джейн Доу' ,
}

Результирующий объект Person будет иметь значения по умолчанию для полей Возраст и Пол, которые равны 0 и пустой строке соответственно.

Вот полный код, иллюстрирующий описанный выше процесс:

основной пакет
Импортировать 'ФМТ'

тип Структура человека {
Строка имени
Возраст   целое число
Гендерная строка
}
основная функция ( ) {
p1 := человек {
Имя: 'Джон Доу' ,
Возраст: 30 ,
Пол: 'Мужской' ,
}
fmt.Println ( р1 )

p2 := человек {
Имя: 'Джереми' ,
}
fmt.Println ( р2 )
}

В приведенном выше примере мы создаем структуру Person с тремя полями: Name, целое число, представляющее возраст, и Gender, строка, представляющая пол. Синтаксис инициализации структуры затем используется для создания двух экземпляров Person, p1 и p2. p1 инициализируется значениями «John Doe» для имени, «30» для возраста и «мужской» для пола, которые являются значениями, которые были явно предоставлены. Поскольку мы не задавали значения для Возраста и Пола, им будут присвоены значения по умолчанию 0 и пустая строка соответственно. p2 изначально инициализируется только предоставленным полем Name.

Выход

Заключение

Назначение значения по умолчанию in Go является важным аспектом программирования на этом языке. Это помогает гарантировать, что каждому созданному экземпляру структуры будут назначены данные по умолчанию. Используя любой из описанных выше методов, разработчики могут установить значения по умолчанию структурных полей эффективно.