Code Monkey home page Code Monkey logo

go-tour-br's Issues

tour: confusing translation in PT-BR version

Context: https://go-tour-br.appspot.com/basics/1

At this page in the English version, there is this text line:
(To see a different number, seed the number generator; see rand.Seed. Time is constant in the playground, so you will need to use something else as the seed.).

The translation of this phrase to PT-BR is slightly wrong and is missing parts, which can lead to confusion for people who only speak portuguese.

At the portuguese version, you read (Para ver um número diferente, a semente do gerador de números; veja rand.Seed.) - which does not make much sense to be honest.

I would suggest changing it to something like (Para ver um número diferente, troque a semente do gerador de números; veja rand.Seed. O tempo é constante no playground, então você precisará utilizar algo diferente disso como semente.). This way I think it will be more understandable.

tour: Slices 13 - Texto em português BR precisa de revisão.

Contexto: https://go-tour-br.appspot.com/moretypes/13

A primeira linha ficaria melhor assim:
As slices podem ser criadas com a função make padrão; isto é como você criar matrizes dinamicamente.
As slices podem ser criadas com a função make. Com ela você pode criar matrizes dinamicamente.

A segunda linha só tem um erro de concordância:
O função make aloca uma matriz zerada e retorna uma slice que se refere a essa matriz:
A função make aloca uma matriz zerada e retorna uma slice que se refere a essa matriz:

tour: descrição da lição com erros na tradução

Contexto: https://go-tour-br.appspot.com/methods/4

A descrição da lição 4 de métodos está com alguns erros na tradução do inglês. E notei alguns pontos que poderiam ser melhores para aprimorar a compreensão do leitor e facilitar a leitura. Segue o texto original:

Você pode declarar métodos com ponteiro receptor.

Isso significa que o tipo de receptor tem a sintaxe literal *t por algum tipo t. (Além disso, t não pode ser ele próprio, um ponteiro como *int.)

Por exemplo, o método Scale aqui é definido no *Vertex.

Métodos com ponteiro receptores pode modificar o valor ao qual o receptor Os pontos (como Scale faz aqui). Desde métodos muitas vezes precisam modificar seu receptor, receptores de ponteiro são mais comuns do que receptores de valor.

Tente remover o * a partir da declaração da função Scale na linha 16 e observar como o comportamento do programa muda.

Com um receptor de valor, o método Scale opera sobre uma cópia do original `Valor Vertex`. (Este é o mesmo comportamento para qualquer outro argumento da função.) O método Scale deve ter um receptor ponteiro para mudar o `valor Vertex` declarados na função main.

Mas como pode ver contém alguns erros, então consertei os erros e melhorei o texto para que seja mais fácil a compreensão e a leitura:

Você pode declarar métodos com ponteiros receptores.

Significa que o tipo do receptor tem a sintaxe literal *T para um tipo T. (Além disso, T deve ser um tipo local, não pode ser externo, como *int)

Por exemplo, método Scale aqui é definido em *Vertex.

Métodos com receptores ponteiro podem modificar o valor que o receptor aponta (como Scale faz aqui). Esta é uma prática muito utilizada, e geralmente é ainda mais comum que receptores normais (com valor em cópia).

Podemos entender os ponteiros como uma referência à variável original, ao invés de receber uma cópia daquele valor.

Tente remover o * da declaração da função Scale na linha 16 e observe como o comportamento do programa muda.

Com um receptor de valor, o método Scala é chamado com uma cópia do valor original de Vertex. (Este é o mesmo comportamento de qualquer outro argumento de função.) O método Scale deve conter um receptor ponteiro para mudar o valor de Vertex declarado na função main.
`

tour: atualizar orientação do tour local

Contexto: https://go-tour-br.appspot.com/welcome/3

Problema

O tutorial orienta duas formas de executar o gotour local e nenhuma delas funciona e deve ser atualizado seguindo o tutorial em inglês,

Solução

Remove os seguintes trechos:

go tool tour

Ou, você pode instalar e executar o tour manualmente, se você tiver qualquer problema executando o comando acima:

go get golang.org/x/tour/gotour
gotour

O programa do tour irá abrir no seu navegador mostrando sua versão local do tour.

E substituir por:

go install golang.org/x/website/tour@latest
tour

Isso colocará um binário de tour no diretório bin do seu GOPATH. Quando você executar o programa do tour, o seu navegador abrirá mostrando sua versão local do tour.

O tour indica o uso de rand.Seed

Fazendo o tour na versão em português foi indicado o uso da função rand.Seed para tornar o número realmente aleatório, porém pesquisando sobre a função descobri que ela está desatualizada e não se faz mais necessária, fato que se comprova por não ter a mesma sugestão no tour em inglês.

tour: Provável erro de digitação

Contexto: https://go-tour-br.appspot.com/basics/13

No seguinte trecho:

Diferente de C, em Go atribuição entre os itens de tipo diferente requer uma conversão explícita. Tente remover as conversões float64 ou int no exemplo e veja o que acontece.

Não seria para remover a conversão de uint ao invés de int? Já que as conversões realizadas no código foram:

	var f float64 = math.Sqrt(float64(x*x + y*y))
	var z uint = uint(f)

Revisão Geral

Algumas modificações do tour.golang.org ainda estão faltando, é necessária uma revisão slide por slide.

tour: Chamada incorreta de método e Letra maiúscula indevida

Contexto: https://go-tour-br.appspot.com/methods/6
São duas correções:

  1. Em

Comparando os dois programas anteriores, você pode notar que funções com um argumento de ponteiro deve ter um ponteiro:

var v Vertex
ScaleFunc(v)  // Erro de compilação!
ScaleFunc(&v) // OK

ScaleFunc deve receber um segundo argumento com o valor de escala. Corrigindo ficaria:

Comparando os dois programas anteriores, você pode notar que funções com um argumento de ponteiro deve ter um ponteiro:

var v Vertex
ScaleFunc(v, 5)  // Erro de compilação!
ScaleFunc(&v, 5) // OK
  1. Em

Para a instrução v.Scale(5) , embora V seja um valor e não um ponteiro, o método com o receptor ponteiro é chamado automaticamente. Ou seja, por conveniência, Go interpreta a declaração v.Scale(5) como (&V).Scale(5) uma vez que o método Scale tem um receptor de ponteiro.

v deve aparecer minúsculo tanto em "[...] embora V seja [...]" quanto na expressão (&V).Scale(5).

tour: [APENAS CORREÇÕES ORTOGRÁFICAS]

Contexto: https://go-tour-br.appspot.com/moretypes/7

Olá ! Vi alguns pequenos erros ortográficos, e gostaria de contribuir, posso !?

No texto abaixo, encontrei os seguintes erros:

Uma matriz tem um tamanho fixo. Uma slice, por outro lado, é dinâmicamente redimencionada, uma visão flexível dos elementos de uma matriz. Na prática, as slices são muito mais comuns do que as matrizes.

O tipo []T é uma slice com elementos do tipo T.

Essa expressão cria uma slice dos primeiros cinco elementos do array a:

Correção ortográfica:
dinâmicamente = dinamicamente
redimencionada = redimensionada

Gostaria também, com base no texto original, que suponho ser esse:
https://go-tour-br.appspot.com/moretypes/7

Fazer as seguintes mudanças em relação as frases iniciais:

"Uma matriz tem um tamanho fixo. Um slice, por outro lado, é redimensionável dinamicamente, uma visão flexível dos elementos de uma matriz."....

Espero estar contribuindo.
Desde já, agradeço

Repositório ainda é mantido?

Estou vendo diversos erros tipográficos e também várias indicações dos usuários. @dgv você ainda está revisando os issues e os pull requests?

tour: Ambiente não é mais determinístico para `rand.Intn()`

Contexto: https://go-tour-br.appspot.com/basics/1

O texto deste "slide" inclui a seguinte nota:

Nota: o ambiente em que esses programas são executados é determinístico, então rand.Intn sempre retornará o mesmo número.

(Para ver um número diferente, troque a semente do gerador de números; veja rand.Seed. ; veja rand.Seed. O tempo é constante no playground, então você precisará utilizar algo diferente disso como semente.)

No entanto, ao rodar o programa, sempre obtemos um número diferente (apesar de o horário ser, de fato, constante, como dito e demonstrado em https://go-tour-br.appspot.com/welcome/4).

Imagino que em algum ponto do tempo o ambiente tenha sido refinado para que o gerador de números aleatórios use o horário real ou alguma outra fonte para a semente.

Isso é reforçado pelo fato de que a versão em inglês (https://go.dev/tour/basics/1) não tem esta nota.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.