LINUX.ORG.RU

История изменений

Исправление urxvt, (текущая версия) :

Срез это не копирование и не владение. Это просто ссылка на область памяти (массива). Логично и понятно. Почти как обычные указатели в С. Не знаю, может ты с С не был знаком, перед изучением Go, потому и «не зашло».

Во всех языках (C, Java, Python) этот приём используется вручную, но в Go его встроили прям в язык.
Вот как выглядит аналогичный код на разных языках.

sort(arr, 0, len / 2); // C
arraycopy(src, 0, src.length / 2, ...); // Java
print_half(lst, 0, len(lst) / 2); Python
println(s[0:len(s) / 2]); // Go

В Питоне есть похожая нотация, но она делает копию а не ссылку.

Исправление urxvt, :

Срез это не копирование и не владение. Это просто ссылка на область памяти (массива). Логично и понятно. Почти как обычные указатели в С. Не знаю, может ты с С не был знаком, перед изучением Go, потому и «не зашло».

Во всех языках (C, Java, Python) этот приём используется вручную, но в Go его встроили прям в язык.
Вот как выглядит аналогичный код на разных языках.

sort(arr, 0, len); // C
arraycopy(src, 0, src.length, ...); // Java
print_half(lst, 0, len(lst) / 2); Python
println(s[0:len(s)]); // Go

В Питоне есть похожая нотация, но она делает копию а не ссылку.

Исправление urxvt, :

Срез это не копирование и не владение. Это просто ссылка на область памяти (массива). Логично и понятно. Почти как обычные указатели в С. Не не знаю, может ты с С не был знаком, перед изучением Go, потому и «не зашло».

Во всех языках (C, Java, Python) этот приём используется вручную, но в Go его встроили прям в язык.
Вот как выглядит аналогичный код на разных языках.

sort(arr, 0, len); // C
arraycopy(src, 0, src.length, ...); // Java
print_half(lst, 0, len(lst) / 2); Python
println(s[0:len(s)]); // Go

В Питоне есть похожая нотация, но она делает копию а не ссылку.

Исходная версия urxvt, :

Срез это не копирование и не владение. Это просто ссылка на область памяти (массива). Логично и понятно. Почти как обычные указатели в С. Не не знаю, может ты с С не был знаком, перед изучением Go, потому и «не зашло».

Во всех языках (C, Java, Python) этот приём используется вручную, но в Go его встроили прям в язык.
Вот как выглядит аналогичный код на разных языках.

sort(arr, 0, len); // C
arraycopy(src, 0, src.length, ...); // Java
print_half(lst, 0, len(lst) / 2); Python
println(s[0:len(s)]); // Go


В Питоне есть похожая нотация, но она делает копию а не ссылку.