Что такое offset

«Что такое offset» — вопрос из категории Брокеры сообщений, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Offset — это смещение от начала структуры данных, например, массива, слайса или файла. Он указывает позицию, с которой нужно начать чтение или запись.

Пример с файлом:

file, _ := os.Open("data.txt")
data := make([]byte, 100)
// Читаем 100 байт, начиная с 10-го байта
n, _ := file.ReadAt(data, 10) // offset = 10

Пример со слайсом:

slice := []int{1, 2, 3, 4, 5}
subSlice := slice[2:] // offset = 2 → [3, 4, 5]

Offset часто используется в базах данных (пагинация), файловых операциях и работе с бинарными данными.