История изменений
Исправление 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
В Питоне есть похожая нотация, но она делает копию а не ссылку.