github goplus/gop v0.6.02
Release v0.6.02

latest releases: v1.3.0-pre.2, v1.3.0-pre.1, v1.2.6...
4 years ago

Commands

qrun [-asm] <qlangSrcDir>
qgo <qlangSrcDir>

New features:

  • qgo converts qlang packages into Go packages, recursively.
  • qrun generates asm code when -asm switch specified.

Bugs:

  • qgo may generate incorrect Go codes when closures exist.

Func & closure

Now support passing function pointers as parameters.

func bar(f func(string, ...interface{}) (int, error)) {
    f("Hello, %v!\n", "qlang")
}

barVar := func(f func(string, ...interface{}) (int, error)) {
    f("Hello, %v!\n", "qlang")
}

bar(printf)
barVar(printf)

String, map, array & slice

Now support indexing/slicing string/map/array.

x := []float64{1, 3.4, 5}
y := map[string]float64{"Hello": 1, "xsw": 3.4}

x[1], y["xsw"] = 1.7, 2.8

title := "Hello,world!" + "2020-05-27"
println(title[:len(title)-len("2006-01-02")], len(x), x[1:])

Builtin & typecast

a := make([]int, uint64(2))
a = append(a, 1, 2, 3)
println(a, "len:", len(a), "cap:", cap(a))

b := make([]int, 0, uint16(4))
c := [1, 2, 3]
b = append(b, c...)
println(b, "len:", len(b), "cap:", cap(b))

Don't miss a new gop release

NewReleases is sending notifications on new releases.