Guest User

Untitled

a guest
Jul 18th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. package main
  2.  
  3. var a = 1
  4. var b = 1
  5. var c = 1 // never modified
  6. var d = []int{1, 2}
  7. var e = []int{1, 2}
  8. var f = []int{1, 2} // never modified
  9. var g = map[string]int{"a": 1}
  10. var h = map[string]int{"a": 1}
  11. var i = map[string]int{"a": 1} // never modified
  12. var j = T{a: 1}
  13. var k = T{a: 1}
  14. var l = T{a: 1} // never modified
  15.  
  16. func main() {
  17. a = 2 // modifies a
  18. modInt(&b) // modifies b
  19. useInt(c) // uses c but doesn't modify
  20.  
  21. d[0] = 2 // modifies d
  22. modSlice(e) // modifies e
  23. useInt(f[0]) // uses f but doesn't modify
  24.  
  25. g["a"] = 2 // modifies g
  26. modMap(h) // modifies h
  27. useInt(i["a"]) // uses i but doesn't modify
  28.  
  29. j.a = 2 // modifies j
  30. modT(&k) // modifies k
  31. useInt(l.a) // uses i but doesn't modify
  32. }
  33.  
  34. func modInt(in *int) {
  35. *in = 2
  36. }
  37.  
  38. func modSlice(in []int) {
  39. in[0] = 2
  40. }
  41.  
  42. func modMap(in map[string]int) {
  43. in["a"] = 2
  44. }
  45.  
  46. func modT(in *T) {
  47. in.a = 2
  48. }
  49.  
  50. func useInt(i int) {
  51. println(i)
  52. }
  53.  
  54. type T struct {
  55. a int
  56. }
Add Comment
Please, Sign In to add comment