ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠ²Π΅ΡΡΡΠ΅ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
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"
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΡΠΎΡ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» 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
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ: Renamed 2 occurrences in 1 file in 1 package.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: gorename: -offset "demo.go:#78": no identifier at this position
/ cc @alandonovan
ΠΠΌΠ΅Ρ ΡΠ°ΠΊΡΡ ββΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π΅Π΅ ΠΎΠ±ΠΎΠΉΡΠΈ?
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΠΎΠ³Π΄Π° (Ρ ΠΈΠ΄Ρ 1.9.2), Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Π½Π°: Β«gorename: Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΠ Π ΠΠΠΠΠ’ΠΠ ΠΠΠΠ’Π¬Β»
Π ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ gorename Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ cgo. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠΌΠ΅Ρ ΡΠ°ΠΊΡΡ ββΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π΅Π΅ ΠΎΠ±ΠΎΠΉΡΠΈ?