github.com/DQNEO/babygo@v0.0.3/example/example.go (about) 1 // How to compile: 2 // go tool compile -N -S -l sample.go > sample.s 3 package main 4 5 func multiVars(a uint8, b uint8, c uint8) (uint8, uint8, uint8) { 6 return a, b, c 7 } 8 9 func receiveBytes(a uint8, b uint8, c uint8) uint8 { 10 var r uint8 = a 11 return r 12 } 13 14 func testPassBytes() { 15 var a uint8 = 'a' 16 var b uint8 = 'b' 17 var c uint8 = 'c' 18 d := receiveBytes(a, b, c) 19 println(d) 20 } 21 22 func char(a byte) byte { 23 b := a 24 b = 'A' 25 return b 26 } 27 28 func slice(a []byte) []byte { 29 var b []byte = a 30 return b 31 } 32 33 func arg1(x int) { 34 35 } 36 37 func arg1ret1(x int) int { 38 return x 39 } 40 41 func sumAndMul(x int, y int) (int, int) { 42 return x + y, x * y 43 } 44 45 func sumAndMulWithNamedReturn(x int, y int) (sum int, mul int) { 46 sum = x + y 47 mul = x * y 48 return 49 } 50 51 func sum(x int, y int) int { 52 return x + y 53 } 54 55 func concate(x string, y string) string { 56 return x + y 57 } 58 59 func main() { 60 multiVars(1,2, 3) 61 slice(nil) 62 slice([]byte{'a', 'b', 'c'}) 63 arg1(1) 64 arg1ret1(2) 65 sumAndMul(5, 7) 66 sumAndMulWithNamedReturn(5, 7) 67 sum(2, 3) 68 concate("hello", " world") 69 }