Skip to content

Commit

Permalink
slice fix images
Browse files Browse the repository at this point in the history
  • Loading branch information
arturpanteleev committed Apr 14, 2024
1 parent eeacaa9 commit 07351cb
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/goLang/types/array_slice.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

Например, тип `[4]int` представляет массив из четырёх целых чисел. Представление `[4]int` в памяти - это просто четыре целых значения, расположенных последовательно:

<img src="..\..\..\src\media\go\slice-array.png" max-width="100%"/>
<img src="../../media/go/slice-array.png" max-width="100%"/>


Размер массива неизменяем; **его длина - это часть его типа** (`[4]int` и `[5]int` разные, несовместимые типы). Массивы могут быть проиндексированы, поэтому с помощью выражения `s[n]` мы получаем доступ к n-ному элементу, начиная с нуля. Массивы не нужно инициализировать явно; нулевой массив - это готовый к использованию массив, элементы которого являются нулями:

Expand Down Expand Up @@ -43,7 +44,7 @@ type slice struct {
Переменная `s`, созданная с помощью `make([]byte, 5)`, имеет такую структуру:


<img src="..\..\..\src\media\go\slice-1.png" max-width="100%"/>
<img src="../../media/go/slice-1.png" max-width="100%"/>

**Length** - это число элементов, на которое ссылается слайс. **Capacity** - это число элементов лежащего в основе массива (начиная с элемента, на который ссылается указатель слайса). Разница между длиной и вместимостью станет чётче по ходу знакомства с остальными примерами.

Expand All @@ -53,7 +54,7 @@ type slice struct {
s = s[2:4]
```

<img src="..\..\..\src\media\go\slice-2.png" max-width="100%"/>
<img src="../../media/go/slice-2.png" max-width="100%"/>

Слайсниг не производит копирование данных слайса. Создаётся новое значение слайса, указывающее на исходный массив. Это делает операцию слайсинга такой же эффективной, как и манипуляции с индексами массива. Таким образом, изменение элементов (не самого слайса) нового слайса изменяет элементы исходного:

Expand Down

0 comments on commit 07351cb

Please sign in to comment.