golang의 팩스는 gofmt를 사용할 수 있습니다
5320 단어 Go
추기
gofmt뿐만 아니라 gorename도 리셋에 사용할 수 있습니다. 단순한 텍스트 교환만으로 순조롭게 진행되지 않으면 gorename을 사용하세요!
@mattn의 글
구글의 팩스에는 gofmt를 사용하지 말고 gorename을 사용하십시오.
개요
골랑이 팩스 귀찮지 않아요?예를 들어 퍼블릭 방법을provate로 바꾸려면 이 방법의 알파벳을 대문자에서 소문자로 바꿔야 하는데 편집하는 곳이 많나요?
왜 이렇게 귀찮아!내 생각엔 역시 골랑이야. 팩스 도구를 준비했어. 그리고 평소에 자주 쓰는 gofmt가 그거야.
팩스에 gofmt 사용하기
출전: https://golang.org/cmd/gofmt/
꼭 건드리세요.
사용법
flag에서 다음 옵션을 지정하고 path에서 golang 파일을 지정합니다.gofmt [flags] [path ...]
평상시 사용하는go fmt
과gofmt -l -w
는 같다.
옵션
flag
설명-d
포맷기 적용 시 차이점만 표시-e
모든 오류 표시(오류가 있을 수 있음)-l
포맷할 파일 이름만 보이기-r rule
지정한 규칙을 적용할 때의 코드를 표시합니다. (파일을 다시 쓰지 않습니다.)-s
단순화 코드 결과 표시-w
포맷할 파일 덮어쓰기
예제
포맷기 적용 시 차분 보이기(적용 대상으로 들여쓰기)% gofmt -d foo.go
diff da.go gofmt/da.go
--- /tmp/gofmt443368917 2014-09-04 17:00:11.000000000 +0900
+++ /tmp/gofmt933503792 2014-09-04 17:00:11.000000000 +0900
@@ -1,8 +1,8 @@
package foo
import (
-"fmt"
-"sort"
+ "fmt"
+ "sort"
)
대상 파일 이름 표시% gofmt -l foo.go
foo.go
팩시밀리
-r
매개변수에 대한 옵션 추가pattern -> replacement
형식으로 변환을 지정합니다. 기본적으로 간단한 변환입니다. 그러나 소문자 하나는 모든 요소와 일치하는 어댑터로 사용할 수 있습니다. 예를 들어, 그룹의 record[0:len(records)]
를 records[0:]
로 바꾸려면 a[b:len(a)] -> a[b:]
로 지정하십시오.% gofmt -r 'a[b:len(a)] -> a[b:]' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt374308561 2014-09-04 17:43:33.000000000 +0900
+++ /tmp/gofmt670076412 2014-09-04 17:43:33.000000000 +0900
@@ -21,7 +21,7 @@
{ID: 22, Name: "orange"},
}
- for i, _ := range records[0:len(records)] {
+ for i, _ := range records[0:] {
fmt.Printf("id: %d, name: %s", r.ID, r.Name)
}
fmt.Println(records[0].ID, fruite[0].ID)
기본적으로 간단한 교체이기 때문에 서로 다른 구조의 구성원이 같은 이름을 가지거나 변수가 같은 이름을 가지면 모두 전환된다.% gofmt -r 'ID -> Hoge' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt984846593 2014-09-04 17:53:09.000000000 +0900
+++ /tmp/gofmt966547564 2014-09-04 17:53:09.000000000 +0900
@@ -1,31 +1,31 @@
package foo
type Record struct {
- ID int
+ Hoge int
Name string
}
type Fruite struct {
- ID int
+ Hoge int
Name string
}
func main() {
records := []Record{
- Record{ID: 1, Name: "johon"},
- Record{ID: 2, Name: "robert"},
+ Record{Hoge: 1, Name: "johon"},
+ Record{Hoge: 2, Name: "robert"},
}
fruites := []Fruites{
- {ID: 11, Name: "apple"},
- {ID: 22, Name: "orange"},
+ {Hoge: 11, Name: "apple"},
+ {Hoge: 22, Name: "orange"},
}
for i, _ := range records[0:len(records)] {
- fmt.Printf("id: %d, name: %s", r.ID, r.Name)
+ fmt.Printf("id: %d, name: %s", r.Hoge, r.Name)
}
- fmt.Println(records[0].ID, fruite[0].ID)
+ fmt.Println(records[0].Hoge, fruite[0].Hoge)
- var ID = 1
- fmt.Println(ID)
+ var Hoge = 1
+ fmt.Println(Hoge)
}
멤버만 바꾸고 싶다면 a.ID -> a.Hoge
로만 바꿀 수 있다. 그러나 그것만으로는 구조체의 정의를 바꿀 수 없기 때문에 주의해야 한다.
만약 이 점을 아는 사람이 있다면 나에게 알려주시오
후기
golint라는 내용이 있기 때문에 코드를 검사하면서 팩스를 보내면 골뱅이 스타일의 코드가 될 것 같아요. 그런데 자꾸 불편하다고 느껴지니까vim,emacs,eclipse를 알려주시면 돼요
Reference
이 문제에 관하여(golang의 팩스는 gofmt를 사용할 수 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ikawaha/items/73c0a1d975680276b2c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
골랑이 팩스 귀찮지 않아요?예를 들어 퍼블릭 방법을provate로 바꾸려면 이 방법의 알파벳을 대문자에서 소문자로 바꿔야 하는데 편집하는 곳이 많나요?
왜 이렇게 귀찮아!내 생각엔 역시 골랑이야. 팩스 도구를 준비했어. 그리고 평소에 자주 쓰는 gofmt가 그거야.
팩스에 gofmt 사용하기
출전: https://golang.org/cmd/gofmt/
꼭 건드리세요.
사용법
flag에서 다음 옵션을 지정하고 path에서 golang 파일을 지정합니다.gofmt [flags] [path ...]
평상시 사용하는go fmt
과gofmt -l -w
는 같다.
옵션
flag
설명-d
포맷기 적용 시 차이점만 표시-e
모든 오류 표시(오류가 있을 수 있음)-l
포맷할 파일 이름만 보이기-r rule
지정한 규칙을 적용할 때의 코드를 표시합니다. (파일을 다시 쓰지 않습니다.)-s
단순화 코드 결과 표시-w
포맷할 파일 덮어쓰기
예제
포맷기 적용 시 차분 보이기(적용 대상으로 들여쓰기)% gofmt -d foo.go
diff da.go gofmt/da.go
--- /tmp/gofmt443368917 2014-09-04 17:00:11.000000000 +0900
+++ /tmp/gofmt933503792 2014-09-04 17:00:11.000000000 +0900
@@ -1,8 +1,8 @@
package foo
import (
-"fmt"
-"sort"
+ "fmt"
+ "sort"
)
대상 파일 이름 표시% gofmt -l foo.go
foo.go
팩시밀리
-r
매개변수에 대한 옵션 추가pattern -> replacement
형식으로 변환을 지정합니다. 기본적으로 간단한 변환입니다. 그러나 소문자 하나는 모든 요소와 일치하는 어댑터로 사용할 수 있습니다. 예를 들어, 그룹의 record[0:len(records)]
를 records[0:]
로 바꾸려면 a[b:len(a)] -> a[b:]
로 지정하십시오.% gofmt -r 'a[b:len(a)] -> a[b:]' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt374308561 2014-09-04 17:43:33.000000000 +0900
+++ /tmp/gofmt670076412 2014-09-04 17:43:33.000000000 +0900
@@ -21,7 +21,7 @@
{ID: 22, Name: "orange"},
}
- for i, _ := range records[0:len(records)] {
+ for i, _ := range records[0:] {
fmt.Printf("id: %d, name: %s", r.ID, r.Name)
}
fmt.Println(records[0].ID, fruite[0].ID)
기본적으로 간단한 교체이기 때문에 서로 다른 구조의 구성원이 같은 이름을 가지거나 변수가 같은 이름을 가지면 모두 전환된다.% gofmt -r 'ID -> Hoge' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt984846593 2014-09-04 17:53:09.000000000 +0900
+++ /tmp/gofmt966547564 2014-09-04 17:53:09.000000000 +0900
@@ -1,31 +1,31 @@
package foo
type Record struct {
- ID int
+ Hoge int
Name string
}
type Fruite struct {
- ID int
+ Hoge int
Name string
}
func main() {
records := []Record{
- Record{ID: 1, Name: "johon"},
- Record{ID: 2, Name: "robert"},
+ Record{Hoge: 1, Name: "johon"},
+ Record{Hoge: 2, Name: "robert"},
}
fruites := []Fruites{
- {ID: 11, Name: "apple"},
- {ID: 22, Name: "orange"},
+ {Hoge: 11, Name: "apple"},
+ {Hoge: 22, Name: "orange"},
}
for i, _ := range records[0:len(records)] {
- fmt.Printf("id: %d, name: %s", r.ID, r.Name)
+ fmt.Printf("id: %d, name: %s", r.Hoge, r.Name)
}
- fmt.Println(records[0].ID, fruite[0].ID)
+ fmt.Println(records[0].Hoge, fruite[0].Hoge)
- var ID = 1
- fmt.Println(ID)
+ var Hoge = 1
+ fmt.Println(Hoge)
}
멤버만 바꾸고 싶다면 a.ID -> a.Hoge
로만 바꿀 수 있다. 그러나 그것만으로는 구조체의 정의를 바꿀 수 없기 때문에 주의해야 한다.
만약 이 점을 아는 사람이 있다면 나에게 알려주시오
후기
golint라는 내용이 있기 때문에 코드를 검사하면서 팩스를 보내면 골뱅이 스타일의 코드가 될 것 같아요. 그런데 자꾸 불편하다고 느껴지니까vim,emacs,eclipse를 알려주시면 돼요
Reference
이 문제에 관하여(golang의 팩스는 gofmt를 사용할 수 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ikawaha/items/73c0a1d975680276b2c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
gofmt [flags] [path ...]
% gofmt -d foo.go
diff da.go gofmt/da.go
--- /tmp/gofmt443368917 2014-09-04 17:00:11.000000000 +0900
+++ /tmp/gofmt933503792 2014-09-04 17:00:11.000000000 +0900
@@ -1,8 +1,8 @@
package foo
import (
-"fmt"
-"sort"
+ "fmt"
+ "sort"
)
% gofmt -l foo.go
foo.go
pattern -> replacement
% gofmt -r 'a[b:len(a)] -> a[b:]' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt374308561 2014-09-04 17:43:33.000000000 +0900
+++ /tmp/gofmt670076412 2014-09-04 17:43:33.000000000 +0900
@@ -21,7 +21,7 @@
{ID: 22, Name: "orange"},
}
- for i, _ := range records[0:len(records)] {
+ for i, _ := range records[0:] {
fmt.Printf("id: %d, name: %s", r.ID, r.Name)
}
fmt.Println(records[0].ID, fruite[0].ID)
% gofmt -r 'ID -> Hoge' -d foo.go
diff foo.go gofmt/foo.go
--- /tmp/gofmt984846593 2014-09-04 17:53:09.000000000 +0900
+++ /tmp/gofmt966547564 2014-09-04 17:53:09.000000000 +0900
@@ -1,31 +1,31 @@
package foo
type Record struct {
- ID int
+ Hoge int
Name string
}
type Fruite struct {
- ID int
+ Hoge int
Name string
}
func main() {
records := []Record{
- Record{ID: 1, Name: "johon"},
- Record{ID: 2, Name: "robert"},
+ Record{Hoge: 1, Name: "johon"},
+ Record{Hoge: 2, Name: "robert"},
}
fruites := []Fruites{
- {ID: 11, Name: "apple"},
- {ID: 22, Name: "orange"},
+ {Hoge: 11, Name: "apple"},
+ {Hoge: 22, Name: "orange"},
}
for i, _ := range records[0:len(records)] {
- fmt.Printf("id: %d, name: %s", r.ID, r.Name)
+ fmt.Printf("id: %d, name: %s", r.Hoge, r.Name)
}
- fmt.Println(records[0].ID, fruite[0].ID)
+ fmt.Println(records[0].Hoge, fruite[0].Hoge)
- var ID = 1
- fmt.Println(ID)
+ var Hoge = 1
+ fmt.Println(Hoge)
}
golint라는 내용이 있기 때문에 코드를 검사하면서 팩스를 보내면 골뱅이 스타일의 코드가 될 것 같아요. 그런데 자꾸 불편하다고 느껴지니까vim,emacs,eclipse를 알려주시면 돼요
Reference
이 문제에 관하여(golang의 팩스는 gofmt를 사용할 수 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikawaha/items/73c0a1d975680276b2c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)