Cap. 8 - Agrupamentos de Dados - 6. Slice: make

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 8

  • @Set_Abominae
    @Set_Abominae Месяц назад +2

    Pô eu sou muito curioso, queria saber o que eram os barulhos na sala... kkkkkkkkkkkkkkkkkkkk

  • @ricardoerickrebelo3380
    @ricardoerickrebelo3380 8 месяцев назад

    Eu fazia isso em C++, pilhas, arrays e listas que podiam receber mais elementos, mas somente realocava memória a cada 10, 20 elementos, para não ficar lento. Tinha gente que não entendia.

  • @alexandresoarespereiralima886
    @alexandresoarespereiralima886 2 года назад +1

    estou empolgado

  • @vitorzen6988
    @vitorzen6988 4 месяца назад

    Fazendo alguns testes (Me corrijam se eu estiver errado) notei que o slice dobrava de tamanho apenas na primeira vez, depois que você ultrapassa o tamanho pela segunda vez, ele apenas adiciona mais uma única posição.
    Meu código teste:
    package main
    import "fmt"
    func main() {
    // 3 de length e 6 de capacity
    slice := make([]int, 3, 4)
    slice[0], slice[1], slice[2] = 10, 20, 30
    slice = append(slice, 40, 50, 60, 65, 70, 75)
    fmt.Print(slice, cap(slice))
    }
    Resposta no console:
    [10 20 30 40 50 60 65 70 75] 10

    • @cslemess
      @cslemess 2 месяца назад

      O padrão e dobrar a memória até 1000 posições, após isso ele aumenta de 25%, o que acontece que tem mais regras para otimizar uso espaço e velocidade, e compilador é adaptativo, como era para criar um array de 9 elementos e o dobro era 8, ele arredondou para 10.

  • @ronnychack
    @ronnychack 2 года назад

    hoje da erro , se colocar ./prog.go:7:53: assignment mismatch: 5 variables but 4 values