JetBrains Fleet 1.42 ヘルプ

Go 後置補完テンプレートのリスト

この表は、Go コードで使用できる後置補完テンプレートをまとめたものです。

名前

説明

例: 前

例: 後

!

ブール式を否定します。

func foo(b bool) { if b! {} }
func foo(b bool) { if !b {} }

&

& 演算子を式の前に追加します。

func foo() *string { s := "ok" return s& }
func foo() *string { s := "ok" return &s }

*

逆参照式を作成します。

func m() { ptr := new(int) i := ptr* }
func m() { ptr := new(int) i := *ptr }

aappend

append() 組み込み関数で式をラップし、その結果を式に代入します。

func m() { slice.aappend }
func m() { slice = append(slice, ) }

append

append() 組み込み関数を使用して式をラップします。

func m() { slice.append }
func m() { append(slice, ) }

appendAssign

append() 組み込み関数で式をラップし、その結果を式に代入します。

func m() { slice.appendAssign }
func m() { slice = append(slice, ) }

as

式を errors.As() 関数でラップします。

func f() { var err error err.as }
func f() { var err error errors.As(err) }

cap

cap() 組み込み関数を使用して式をラップします。

func m() { array.cap }
func m() { cap(array) }

close

close() 組み込み関数を使用して式をラップします。

func m() { channel.close }
func m() { close(channel) }

complex

complex() 組み込み関数を使用して式をラップします。

func m() { number.complex }
func m() { complex(number, ) }

copy

copy() 組み込み関数を使用して式をラップします。

func m() { array.copy }
func m() { copy(array, ) }

d

逆参照式を作成します。

func m() { ptr := new(int) i := ptr.d }
func m() { ptr := new(int) i := *ptr }

delete

delete() 組み込み関数を使用して式をラップします。

func m() { mapVariable.delete }
func m() { delete(mapVariable, ) }

dereference

逆参照式を作成します。

func m() { ptr := new(int) i := ptr.dereference }
func m() { ptr := new(int) i := *ptr }

else

E 式を if !E {} に変換します。

func m(b bool) { b.else }
func m(b bool) { if !b { } }

for

スライスまたは配列を反復するための for ループの範囲形式を作成します。

func m(arr []byte) { arr.for }
func m(arr []byte) { for e := range arr { } }

forr

インデックスと値を使用して for ループの範囲形式を作成し、スライスまたは配列を反復処理します。

func m(arr []byte) { arr.forr }
func m(arr []byte) { for i, b := range arr { } }

if

E 式を if E {} に変換します。

func m(b bool) { b.if }
func m(b bool) { if b { } }

imag

imag() 組み込み関数を使用して式をラップします。

func m() { number.imag }
func m() { imag(number) }

is

式を errors.Is() 関数でラップします。

func f() { var err error err.is }
func f() { var err error errors.Is(err) }

len

len() 組み込み関数を使用して式をラップします。

func m() { array.len }
func m() { len(array) }

nil

式が nil かどうかをチェックする if ステートメントで式をラップします。

func m(arg interface{}) { arg.nil }
func m(arg interface{}) { if arg == nil { } }

nil

if 条件式が nil かどうかをチェックします。

func _() { if x := foo(); x.nil }
func _() { if x := foo(); x == nil { } }

nn

式が nil でないかどうかをチェックする if ステートメントで式をラップします。

func m(arg interface{}) { arg.nn }
func m(arg interface{}) { if arg != nil { } }

nn

if 条件式が nil でないかどうかをチェックします。

func _() { if err := foo(); err.nn }
func _() { if err := foo(); err != nil { } }

not

ブール式を否定します。

func foo(b bool) { if b.not {} }
func foo(b bool) { if !b {} }

notnil

式が nil でないかどうかをチェックする if ステートメントで式をラップします。

func m(arg interface{}) { arg.notnil }
func m(arg interface{}) { if arg != nil { } }

notnil

if 条件式が nil でないかどうかをチェックします。

func _() { if err := foo(); err.notnil }
func _() { if err := foo(); err != nil { } }

p

& 演算子を式の前に追加します。

func foo() *string { s := "ok" return s.p }
func foo() *string { s := "ok" return &s }

panic

panic() 組み込み関数を使用して式をラップします。

func m() { "expression".panic }
func m() { panic("expression") }

par

式を括弧で囲みます。

func m(arg interface{}) { arg.par }
func m(arg interface{}) { (arg) }

parseFloat

文字列から float64 を解析するコードを生成します。

func foo() { "12.34".parseFloat }
func foo() { value, err := strconv.ParseFloat("123", 64) }

parseInt

string から int を解析するコードを生成します。

func foo() { "123".parseInt }
func foo() { value, err := strconv.ParseInt("123", 10, 64) }

pointer

& 演算子を式の前に追加します。

func foo() *string { s := "ok" return s.pointer }
func foo() *string { s := "ok" return &s }

print

print() 組み込み関数を使用して式をラップします。

func m() { "expression".print }
func m() { print("expression") }

println

println() 組み込み関数を使用して式をラップします。

func m() { "expression".println }
func m() { println("expression") }

real

real() 組み込み関数を使用して式をラップします。

func m() { number.real }
func m() { real(number) }

remove

要素の範囲を削除したスライスのコピーを作成します。スライスを使用した操作の詳細については、github.com の golang リポジトリの「スライストリック」を参照してください。

func m() { slice.remove }
func m() { slice = append(slice[:1], slice[2:]...) }

reterr

慣用的なエラー処理のための定型コードを生成します。エラー型の変数および式に対して呼び出すことができます。err 変数を次の構造で置き換えます。if err != nil { return value1, value2, ... } expr 式を次の構造で置き換えます。err != nil { return value1, value2, ... } 各値は、err 変数、または外側の関数の対応する戻り値の型のデフォルト値のいずれかです。このテンプレートは、複数の値を持つ式で呼び出すことができます。

func read(file string) (int, error) { f, err := os.Open(file) err.reterr } func read(file *os.File, data []byte) (int, error) { file.Write(data).reterr }
func read(file string) (int, error) { f, err := os.Open(file) if err != nil { return 0, err } } func read(file *os.File, data []byte) (int, error) { if _, err := file.Write(data); err != nil { return 0, err } }

return

式の前に return キーワードを追加します。

func m() { "result".return }
func m() { return "result" }

rr

慣用的なエラー処理のための定型コードを生成します。エラー型の変数および式に対して呼び出すことができます。変数 err を次の構造で置き換えます。if err != nil { return value1, value2, ... } 式 expr を次の構造で置き換えます。err != nil { return value1, value2, ... } 各値は、err 変数、または外側の関数の対応する戻り値の型のデフォルト値のいずれかです。このテンプレートは、複数の値を持つ式で呼び出すことができます。

func read(file string) (int, error) { f, err := os.Open(file) err.rr } func read(file *os.File, data []byte) (int, error) { file.Write(data).rr }
func read(file string) (int, error) { f, err := os.Open(file) if err != nil { return 0, err } } func read(file *os.File, data []byte) (int, error) { if _, err := file.Write(data); err != nil { return 0, err } }

sort

sort.Float64s() 関数で式をラップします。

func foo() { data := []float64{} data.sort }
func foo() { data := []float64{} sort.Float64s(data) }

sort

sort.Ints() 関数を使用して式をラップします。

func foo() { data := []int{} data.sort }
func foo() { data := []int{} sort.Ints(data) }

sort

sort.Slice() 関数を使用して式をラップします。

func foo() { data := []struct{a string}{} data.sort }
func foo() { data := []struct{a string}{} sort.Slice(data, func(i, j int) bool { return false }) }

sort

sort.Sort() 関数を使用して式をラップします。

package foo func _() { people := []Person{} ByAge(people).sort } type Person struct { Name string Age int } // ByAge implements sort.Interface for []Person based on // the Age field. type ByAge []Person func (a ByAge) Len() int { return len(a) } func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age }
package foo func _() { people := []Person{} sort.Sort(ByAge(people)) } type Person struct { Name string Age int } // ByAge implements sort.Interface for []Person based on // the Age field. type ByAge []Person func (a ByAge) Len() int { return len(a) } func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age }

sort

sort.Strings() 関数を使用して式をラップします。

func foo() { data := []string{} data.sort }
func foo() { data := []string{} sort.Strings(data) }

var

:= を使用して式を新しい変数に代入します。

func m(arg interface{}) { arg.var }
func m(arg interface{}) { i := arg }

varCheckError

慣用的なエラー処理のための定型コードを生成します。エラーを返す呼び出し、またはエラー型の式でテンプレートを呼び出すことができます。テンプレートは新しい変数を導入し、それらに式を割り当て、次のコードを使用してエラーが nil でないことを確認します: if err != nil { return value1, value2, ... } 各値は err 変数またはデフォルトのいずれかです囲んでいる関数の対応する戻り値の型の値。

func read(file string) (int, error) { os.Open(file).varCheckError }
func read(file string) (int, error) { f, err := os.Open(file) if err != nil { return 0, err } }