Переименование пакета в goclipse вызывает проблемы - PullRequest
0 голосов
/ 16 марта 2020

Примечание - я немного отредактировал исходное сообщение, снял все свои эмоциональные всплески. Я был глуп, и это была моя ошибка (см. Комментарий в конце OP)

Я использую Eclipse в качестве IDE для Go (я думаю, это называется "Goclipse"), разрабатывая веб-приложение , Все шло хорошо, пока я не начал разделять функциональность на более мелкие пакеты. Изначально у меня была посылка gitserver/user/project/portal. Файл main.go импортирован и все работает. Внезапно я понял, что вместо этого он должен называться gitserver/user/project/webserver, а некоторые другие файлы и функции должны go в .../portal. Поэтому я сделал «Переименовать», щелкнув правой кнопкой мыши в Project Explorer.

main. go:

package main
import(
  "gitserver/user/project/webserver"
)

func main(){
  webserver.DoSomeStuff()
}

Компилятор жалуется, что

  • импортирован, а не использовал "gitserver / user / project / webserver" в качестве портала
  • undefined: веб-сервер

[...]

Как отменить ie веб-сервер * "пакет со старым именем?

Решение / Объяснение

Очевидно, я ожидал слишком многого от Goclipse, когда выполнил функцию" переименования ". Исходя из мира Java, когда мы переименовываем что-то в Eclipse, мы ожидаем, что изменения будут каскадными, если не через весь проект, то как минимум в файлах пакета. Так что да, я переименовал пакет в Project Explorer. Но файлы в папке все еще имели package portal в качестве первой строки. Простой и тупой.

Новички в Go: при переименовании папок не забывайте переименовывать и имя пакета в файлах!

1 Ответ

0 голосов
/ 17 марта 2020

GoClipse фактически не отслеживает старое имя после переименования. Исходя из того, что вы описываете и ошибки imported and not used "gitserver/user/project/webserver" as portal, вы, вероятно, где-то располагаете линию import вдоль линий portal "gitserver/user/project/webserver", и, вероятно, в том же файле она использует webserver.. Дважды проверьте все ваши импорты, потому что эти ошибки абсолютно похожи на то, что переименование только что немного перепуталось (что не редкость при переименовании и повторном использовании старого имени).

...