Harap jawab pertanyaan ini sebelum mengirimkan masalah Anda. Terima kasih!
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"
Diberikan file input ini demo.go
:
package main
// #include <unistd.h>
import "C"
import "fmt"
func main() {
foo := 1
C.close(2)
fmt.Println(foo)
}
Jalankan perintah ini: gorename -offset demo.go:#78 -to bar
Itu mengganti nama tanpa kesalahan: Renamed 2 occurrences in 1 file in 1 package.
Saya mendapatkan kesalahan ini: gorename: -offset "demo.go:#78": no identifier at this position
/cc @alandonovan
Memiliki masalah yang sama, apakah ada solusi untuk ini?
Saya tidak yakin kapan (saya sedang melanjutkan 1.9.2) tetapi kesalahannya berubah menjadi: "gorename: tidak dapat mengganti nama pengidentifikasi dalam file yang dihasilkan yang berisi penanda JANGAN EDIT"
Dan butuh beberapa saat untuk mengetahui bahwa gorename tidak berfungsi pada file cgo. Setidaknya harus mengubah pesan kesalahan jika tidak akan ada perbaikan dalam waktu dekat.
Komentar yang paling membantu
Memiliki masalah yang sama, apakah ada solusi untuk ini?