github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/assignment/multi.go (about)

     1  // RUN: llgo -o %t %s
     2  // RUN: %t 2>&1 | FileCheck %s
     3  
     4  // CHECK: 123 456
     5  // CHECK-NEXT: 456 123
     6  // CHECK-NEXT: 456 123
     7  // CHECK-NEXT: 123 456
     8  // CHECK-NEXT: 123 456
     9  
    10  package main
    11  
    12  func xyz() (int, int) {
    13  	return 123, 456
    14  }
    15  
    16  func abc() (int, int) {
    17  	var a, b = xyz()
    18  	return a, b
    19  }
    20  
    21  type S struct {
    22  	a int
    23  	b int
    24  }
    25  
    26  func main() {
    27  	a, b := xyz()
    28  	println(a, b)
    29  	b, a = abc()
    30  	println(a, b)
    31  
    32  	// swap
    33  	println(a, b)
    34  	a, b = b, a
    35  	println(a, b)
    36  
    37  	var s S
    38  	s.a, s.b = a, b
    39  	println(s.a, s.b)
    40  }