Skip to content
forked from goki/gotopy

Go to Python converter -- translates Go code into Python code

License

Notifications You must be signed in to change notification settings

go-python/gotopy

 
 

Repository files navigation

GoToPy

GoToPy is a Go to Python converter -- translates Go code into Python code.

To install, do standard:

$ go install github.com/go-python/gotopy@latest

It is based on the Go gofmt command source code and the go printer package, which parses Go files and writes them out according to standard go formatting.

We have modified the printer code in the pyprint package to instead print out Python code.

The -gopy flag generates GoPy specific Python code, including:

  • nil -> go.nil
  • []string{...} -> go.Slice_string([...]) etc for int, float64, float32

The -gogi flag generates GoGi specific Python code, including:

  • struct tags generate: self.SetTags() call, for the pygiv.ClassViewObj class, which then provides an automatic GUI view with tag-based formatting of struct fields.

TODO

  • switch -> ifs.. -- grab switch expr and put into each if

  • string .contains -> "el" in str

  • map access with 2 vars = if el in map: mv = map[el]

  • for range with 2 vars = enumerate(slice)

About

Go to Python converter -- translates Go code into Python code

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.7%
  • Makefile 1.3%