Go: x / tools / cmd / gorename: فشل اسم gorename مع ملفات cgo-using

تم إنشاؤها على ٢٢ مايو ٢٠١٦  ·  3تعليقات  ·  مصدر: golang/go

الرجاء الإجابة على هذه الأسئلة قبل إرسال مشكلتك. شكرا!

1. ما هو إصدار Go الذي تستخدمه ( go version

go version go1.6 darwin/amd64

2. ما هو نظام التشغيل وبنية المعالج الذي تستخدمه ( 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. ماذا فعلت؟

بالنظر إلى ملف الإدخال هذا demo.go :

package main

// #include <unistd.h>
import "C"
import "fmt"

func main() {
    foo := 1
    C.close(2)
    fmt.Println(foo)
}

قم بتشغيل هذا الأمر: gorename -offset demo.go:#78 -to bar

4. ماذا كنت تتوقع أن ترى؟

يعيد التسمية بدون خطأ: Renamed 2 occurrences in 1 file in 1 package.

5. ماذا رأيت بدلا من ذلك؟

تلقيت هذا الخطأ: gorename: -offset "demo.go:#78": no identifier at this position

Tools

التعليق الأكثر فائدة

تواجه نفس المشكلة ، هل هناك أي حل بديل لهذا؟

ال 3 كومينتر

/ ccalandonovan

تواجه نفس المشكلة ، هل هناك أي حل بديل لهذا؟

لست متأكدًا عندما (أنا على الذهاب 1.9.2) ولكن الخطأ تغير إلى: "gorename: لا يمكن إعادة تسمية المعرفات في الملف الذي تم إنشاؤه والذي يحتوي على علامة DO NOT EDIT"

واستغرقت بعض الوقت لأكتشف أن اسم gorename لا يعمل على ملفات cgo. يجب على الأقل تغيير رسالة الخطأ إذا لم يكن هناك إصلاح في أي وقت قريبًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات