Я пытаюсь установить пакеты Go lang, но выдает ошибку, подобную этой: error: следующие неотслеживаемые файлы рабочего дерева будут перезаписаны слиянием

Все объекты гарантированно имеют метод .equals(), поскольку Object содержит метод, .equals(), который возвращает логическое значение. Задача подкласса переопределять этот метод, если требуется дополнительное определение определения. Без него (т. Е. С помощью ==) только адреса памяти проверяются между двумя объектами для равенства. String переопределяет этот метод .equals() и вместо использования адреса памяти возвращает сравнение строк на уровне символа для равенства.

Ключевое замечание состоит в том, что строки хранятся в одном пуле, поэтому после создания строки он всегда хранится в программе по тому же адресу. Строки не меняются, они неизменяемы. Вот почему это плохая идея использовать регулярную конкатенацию строк, если у вас есть серьезное количество обработки строк. Вместо этого вы будете использовать предоставленные классы StringBuilder. Помните, что указатели на эту строку могут измениться, и если вам было интересно увидеть, были ли два указателя одинаковыми ==, это был бы прекрасный способ. Строки сами не делают.

-6
задан Eli Bendersky 17 January 2019 в 14:23
поделиться

1 ответ

Это может быть потому, что у вас есть изменения в тех файлах, которые не зафиксированы.

Попробуйте:

cd /home/poojat/go/src/golang.org/x/tools
git checkout . 
git clean -fd
0
ответ дан Alex Efimov 17 January 2019 в 14:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: