Go: x/tools/cmd/gorename: gorename gagal dengan file yang menggunakan cgo

Dibuat pada 22 Mei 2016  ·  3Komentar  ·  Sumber: golang/go

Harap jawab pertanyaan ini sebelum mengirimkan masalah Anda. Terima kasih!

1. Versi Go apa yang Anda gunakan ( go version )?

go version go1.6 darwin/amd64

2. Sistem operasi dan arsitektur prosesor apa yang Anda gunakan ( 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"

3. Apa yang kamu lakukan?

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

4. Apa yang Anda harapkan untuk dilihat?

Itu mengganti nama tanpa kesalahan: Renamed 2 occurrences in 1 file in 1 package.

5. Apa yang Anda lihat sebagai gantinya?

Saya mendapatkan kesalahan ini: gorename: -offset "demo.go:#78": no identifier at this position

Tools

Komentar yang paling membantu

Memiliki masalah yang sama, apakah ada solusi untuk ini?

Semua 3 komentar

/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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat