GO_INTERVIEW_LIB Telegram 352
💬 В чем преимущество использования iota в Go?

iota — это предопределенное значение, которое можно использовать в объявлении const для создания последовательности связанных значений.
Использование приема с iota избавляет от необходимости вручную присваивать значения константам. Вместо этого можно записать такое определение:

type EventType byte
const (
_ = iota // iota == 0; игнорировать нулевое значение EventDelete
EventType = iota // iota == 1
EventPut // iota == 2; неявное присваивание
)


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

Поскольку iota является нетипизированным числом, его можно использовать для присваивания типизированных значений без явного приведения типов, даже константе с типом float64:

const (
u = iota * 42 // iota == 0; u == 0 (нетипизированная целочисленная константа)
v float64 = iota * 42 // iota == 1; v == 42.0 (константа типа float64)
)


Ключевое слово iota допускает неявное перечисление, что делает тривиальным создание произвольно длинных наборов связанных констант, как это показано в следующем примере, где перечисляются различные единицы измерения размеров в байтах:

type ByteSize uint64

const (
_ = iota
KB ByteSize = 1 << (10 * iota) MB
GB
TB
PB
)
👍11



tgoop.com/go_interview_lib/352
Create:
Last Update:

💬 В чем преимущество использования iota в Go?

iota — это предопределенное значение, которое можно использовать в объявлении const для создания последовательности связанных значений.
Использование приема с iota избавляет от необходимости вручную присваивать значения константам. Вместо этого можно записать такое определение:

type EventType byte
const (
_ = iota // iota == 0; игнорировать нулевое значение EventDelete
EventType = iota // iota == 1
EventPut // iota == 2; неявное присваивание
)


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

Поскольку iota является нетипизированным числом, его можно использовать для присваивания типизированных значений без явного приведения типов, даже константе с типом float64:

const (
u = iota * 42 // iota == 0; u == 0 (нетипизированная целочисленная константа)
v float64 = iota * 42 // iota == 1; v == 42.0 (константа типа float64)
)


Ключевое слово iota допускает неявное перечисление, что делает тривиальным создание произвольно длинных наборов связанных констант, как это показано в следующем примере, где перечисляются различные единицы измерения размеров в байтах:

type ByteSize uint64

const (
_ = iota
KB ByteSize = 1 << (10 * iota) MB
GB
TB
PB
)

BY Библиотека Go для собеса | вопросы с собеседований


Share with your friend now:
tgoop.com/go_interview_lib/352

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. ZDNET RECOMMENDS Users are more open to new information on workdays rather than weekends. Read now
from us


Telegram Библиотека Go для собеса | вопросы с собеседований
FROM American