Advertisement
fcamuso

Un assaggio di Go - Video 5

Jul 3rd, 2025
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.09 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "fmt"
  5. )
  6.  
  7. func main() {
  8.  
  9.     vett1 := [5]int{10, 20, 30, 40, 50}
  10.     //fmt.Println(vett1)
  11.  
  12.     //stampaSlice(vett1[:])
  13.  
  14.     //stampaSlice(vett1[0:3])
  15.  
  16.     //stampaSlice(vett1[len(vett1)-2:])
  17.  
  18.     // const dim = 5
  19.     // vet2 := [dim]int{}
  20.     // stampaSlice(vet2[:])
  21.  
  22.     // var slice1 []int
  23.     // fmt.Println(slice1 == nil)
  24.  
  25.     // slice1 = make([]int, 5, 20)
  26.     // fmt.Println(slice1)
  27.  
  28.     // slice1 = vett1[:]
  29.     // slice1 = append(slice1, 99)
  30.  
  31.     // slice1[0] = 777
  32.     // fmt.Println(vett1)
  33.     // fmt.Println(slice1)
  34.  
  35.     // vett2 := vett1
  36.  
  37.     // vett2[0] = -55
  38.  
  39.     // fmt.Println(vett2)
  40.     // fmt.Println(vett1)
  41.  
  42.     //passaggio per valore = NON modifica il vettore
  43.     tentaCaricaArray(vett1)
  44.     fmt.Println(vett1)
  45.  
  46.     //passaggio per indirizzo = modifica il vettore
  47.     caricaArray(&vett1)
  48.     fmt.Println(vett1)
  49.  
  50. }
  51.  
  52. func stampaSlice(arr []int) {
  53.     for i, v := range arr {
  54.         fmt.Print("[", i, "]: ", v, "   ")
  55.     }
  56.     fmt.Println("")
  57. }
  58.  
  59. func tentaCaricaArray(arr [5]int) {
  60.     for i, _ := range arr {
  61.         arr[i] = 22
  62.     }
  63. }
  64.  
  65. func caricaArray(arr *[5]int) {
  66.     for i, _ := range arr {
  67.         arr[i] = 88
  68.     }
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement