Veuillez répondre à ces questions avant de soumettre votre problème. Merci!
go version
) ?go version go1.6 darwin/amd64
go env
) ?GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/ash/code/go"
GORACE=""
GOROOT="/Users/ash/.homebrew/Cellar/go/1.6/libexec"
GOTOOLDIR="/Users/ash/.homebrew/Cellar/go/1.6/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
Étant donné ce fichier d'entrée demo.go
:
package main
// #include <unistd.h>
import "C"
import "fmt"
func main() {
foo := 1
C.close(2)
fmt.Println(foo)
}
Exécutez cette commande : gorename -offset demo.go:#78 -to bar
Il renomme sans erreur : Renamed 2 occurrences in 1 file in 1 package.
J'ai cette erreur : gorename: -offset "demo.go:#78": no identifier at this position
/cc @alandonovan
Ayant le même problème, existe-t-il une solution de contournement?
Je ne sais pas quand (je suis sur le point 1.9.2) mais l'erreur est devenue : "gorename : impossible de renommer les identifiants dans le fichier généré contenant le marqueur DO NOT EDIT"
Et il m'a fallu un certain temps pour comprendre que gorename ne fonctionne pas sur les fichiers cgo. Devrait au moins changer le message d'erreur s'il n'y aura pas de correctif de sitôt.
Commentaire le plus utile
Ayant le même problème, existe-t-il une solution de contournement?