История изменений
Исправление alysnix, (текущая версия) :
Почему такое неконсистентное поведение и почему передача того, что в других языках называется this или self в Go не унифицирована?
два варианта метода обьявить нельзя, потому что го «методы» записываются с явным обьявлением «селфа» верней это даже не методы, а «связанные» функции, и связь отображается в первых скобочках(это не только в го так, и возникло довольно давно).
а поскольку там может стоять только адрес в том, или ином виде(неужто это не написано в го?) - в виде ссылки или указателя, то обе формы считаются одним и тем же определением.
когда там стоит (this Value), на самом деле это обьявление ссылки, а не копии.
потому трактовать это как создание копии - неверно. если хотите вызывать метод на копии - создайте ее явно и вызывайте
Исходная версия alysnix, :
Почему такое неконсистентное поведение и почему передача того, что в других языках называется this или self в Go не унифицирована?
два варианта метода обьявить нельзя, потому что го «методы» записываются с явным обьявлением «селфа» верней это даже не методы, а «связанные» функции, и связь отображается в первых скобочках.
а поскольку там может стоять только адрес в том, или ином виде(неужто это не написано в го?) - в виде ссылки или указателя, то обе формы считаются одним и тем же определением.
когда там стоит (this Value), на самом деле это обьявление ссылки, а не копии.
потому трактовать это как создание копии - неверно. если хотите вызывать метод на копии - создайте ее явно и вызывайте