Goshell is REPL shell for golang.
the project is inspired by rango but took different decisions.
go install github.com/ahmedakef/goshell@latest
- auto import the needed libraries using
goimports
just writefmt.Print()
andfmt
will be imported. - autocompletion for languages keywords and libraries's functions and types without the need for language server.
- print the variablles by writing them, no need to use
fmt.Print()
- supports all shell line editing commands supported by liner
- don't have dependancy on goimports
code you write | generated code |
---|---|
>>> a:=1
>>> b:=2
>>> a
1 |
package main
import "fmt"
func main() {
a := 1
b := 2
fmt.Println(a)
use(a, b)
}
// used to avoid "declared and not used" error
func use(vals ...any) {
for _, val := range vals {
_ = val
}
} |
3 lines | 17 lines |
code you write | generated code |
---|---|
>>> func add(x,y int) int {
... return x+y
... }
>>> a:=1
>>> b:=2
>>> add(a,b)
3 |
package main
import "fmt"
func add(x, y int) int {
return x + y
}
func main() {
a := 1
b := 2
fmt.Println(add(a, b))
use(a, b)
}
// used to avoid "declared and not used" error
func use(vals ...any) {
for _, val := range vals {
_ = val
}
} |
6 lines | 21 lines |
ahmedakef - aemed.akef.1@gmail.com