Go+ Code Style
TODO
Specification
No package main
package main
func f() {
}
will be converted into:
func f() {
}
No func main
package main
func main() {
a := 0
}
will be converted into:
a := 0
Replace fmt.Print to builtin
import "fmt"
n, err := fmt.Println("Hello world")
will be converted into:
n, err := echo("Hello world")
Note:
- Convert
fmt.Errorf => errorf
- Convert
fmt.Fprint => fprint
- Convert
fmt.Fprintf => fprintf
- Convert
fmt.Fprintln => fprintln
- Convert
fmt.Print
=> print
- Convert
fmt.Printf
=> printf
- Convert
fmt.Println
=> echo
- Convert
fmt.Sprint => sprint
- Convert
fmt.Sprintf => sprintf
- Convert
fmt.Sprintln => sprintln
Command style first
import "fmt"
fmt.Println()
fmt.Println(fmt.Println("Hello world"))
will be converted into:
echo
echo echo("Hello world")
Note:
- Only the outermost function call statement is converted into command style. So
fmt.Println(fmt.Println("Hello world"))
is converted into echo echo("Hello world")
, not echo echo "Hello world"
.
pkg.Fncall starting with lowercase
import "math"
echo math.Sin(math.Pi/3)
will be converted into:
echo math.sin(math.Pi/3)
Funclit of params convert to lambda in fncall (skip named results)
echo(demo(func(n int) int {
return n+100
}))
echo(demo(func(n int) (v int) {
return n+100
}))
onStart(func() {
echo("start")
})
will be converted into:
echo demo(n => n + 100)
echo demo(func(n int) (v int) {
return n + 100
})
onStart => {
echo "start"
}