| 1 | fn f_array[T](a []T) T { |
| 2 | return a[0] |
| 3 | } |
| 4 | |
| 5 | fn g_array[T](mut a []T) { |
| 6 | a[0] = a[1] |
| 7 | } |
| 8 | |
| 9 | fn test_array() { |
| 10 | // []int |
| 11 | mut a1 := [7, 8] |
| 12 | r1 := f_array(a1) |
| 13 | assert r1 == 7 |
| 14 | |
| 15 | g_array(mut a1) |
| 16 | assert a1[0] == 8 |
| 17 | |
| 18 | // []f64 |
| 19 | mut a2 := [1.1, 2.2] |
| 20 | r2 := f_array(a2) |
| 21 | assert r2 == 1.1 |
| 22 | |
| 23 | g_array(mut a2) |
| 24 | assert a2[0] == 2.2 |
| 25 | |
| 26 | // []string |
| 27 | mut a3 := ['aa', 'bb'] |
| 28 | r3 := f_array(a3) |
| 29 | assert r3 == 'aa' |
| 30 | |
| 31 | g_array(mut a3) |
| 32 | assert a3[0] == 'bb' |
| 33 | |
| 34 | // []bool |
| 35 | mut a4 := [true, false] |
| 36 | r4 := f_array(a4) |
| 37 | assert r4 == true |
| 38 | |
| 39 | g_array(mut a4) |
| 40 | assert a4[0] == false |
| 41 | } |
| 42 |