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  }