dgv / go-tour-br Goto Github PK
View Code? Open in Web Editor NEWGo Tour em pt_BR
Home Page: http://go-tour-br.appspot.com
License: BSD 3-Clause "New" or "Revised" License
Go Tour em pt_BR
Home Page: http://go-tour-br.appspot.com
License: BSD 3-Clause "New" or "Revised" License
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.
Contexto: https://go-tour-br.appspot.com/welcome/3
O tutorial orienta duas formas de executar o gotour local e nenhuma delas funciona e deve ser atualizado seguindo o tutorial em inglês,
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.
Algumas modificações do tour.golang.org ainda estão faltando, é necessária uma revisão slide por slide.
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
Contexto: https://go-tour-br.appspot.com/basics/1
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
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:
Contexto: https://go-tour-br.appspot.com/moretypes/15
Correção de texto
"É comum acrescentar novos elementos em uma slice, então Go dispõe de uma função padrão para isso o append. A documentação do pacote padrão descreve melhor o append."
...
"(Para aprender mais sobre slices, leia o artigo Slices: usage and internals.)"
Contexto: https://go-tour-br.appspot.com/basics/16
Na última linha da descrição, onde lê-se "[...] armazar
no máximo um inteiro de 64 bits [...]" o correto seria "[...] armazenar
no máximo um inteiro de 64 bits [...]".
E mais alguns typos.
Contexto: https://go-tour-br.appspot.com/welcome/3
In Go Tour in Portuguese are explaining whenever you are with Go installed you can run the go tool tour
in command line. And this is not truth being required to install go install golang.org/x/website/tour@latest
before running it.
Contexto: https://go-tour-br.appspot.com/moretypes/6
Change "redimencionadas" to "redimensionadas"
Contexto: https://go-tour-br.appspot.com/list
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
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.
`
Contexto: https://go-tour-br.appspot.com/moretypes/6
Correção de texto
"O tamanho da matriz é parte de seu tipo, logo, matrizes não podem ser redimensionadas. Isso parece uma limitação, mas não se preocupe; Go dispõe de uma maneira conveniente para trabalhar com matrizes."
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.
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)
Contexto: https://go-tour-br.appspot.com/methods/6
São duas correções:
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
Para a instrução
v.Scale(5)
, emboraV
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çãov.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)
.
Contexto: https://go-tour-br.appspot.com/moretypes/7
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
Contexto: https://go-tour-br.appspot.com/basics/1
No lado esquerdo das páginas, o texto não está responsivo, então acaba entrando embaixo da parte de editor de código, fazendo ser possível ver a frase completa só se der um zoom out
Contexto: https://go-tour-br.appspot.com/methods/11
Ao invés de "Uma valor de uma interface" o correto seria "Um valor de uma interface"
Contexto: https://go-tour-br.appspot.com/flowcontrol/8
O exemplo abaixo é inválido, pois o formato 1,0 não é um formato float válido.
z: = 1,0 // expected 1.0?
z: = float64 (1)
Contexto: https://go-tour-br.appspot.com/welcome/3
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
Contexto: https://go-tour-br.appspot.com/basics/16
Na frase
(Um int pode armazar no máximo um inteiro de 64 bits, e as vezes menos.)
Corrigir de armazar para armazenar
Contexto: https://go-tour-br.appspot.com/moretypes/7
Correção de texto
"Uma matriz tem um tamanho fixo. Uma slice, por outro lado, é redimensionada dinamicamente, uma visão flexível dos elementos de uma matriz. Na prática, as slices são muito mais comuns do que as matrizes."
Contexto: https://go-tour-br.appspot.com/moretypes/7
A palavra "dinamicamente" não possui acento.
Context: https://go-tour-br.appspot.com/basics/3
The syntax should be "fmt.Println(math.Pi)" where Pi is initiated with a capital letter "P". The original code is with all in lowercase letters.
Contexto: https://go-tour-br.appspot.com/methods/9
O texto está escrito: Observe: Tem um erro no exemple na linha 22. , deveria ser exemplo e não exemple
Contexto: https://go-tour-br.appspot.com/moretypes/7
De:
Uma slice é fomada pela especificação de dois indices, um limite menor e maior, separados por dois pontos:
Para:
Uma slice é foRmada pela especificação de dois indices, um limite menor e maior, separados por dois pontos:
Contexto: https://go-tour-br.appspot.com/methods/13
Chamar um método em uma interface nila resulta em um erro de tempo de execução porq
O correto seria em uma interface nula resulta...
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?
Contexto: https://go-tour-br.appspot.com/methods/15
Nessa página a sintaxe do exemplo de código para type assrtation retornando o controle de sucesso da operação contem um erro de sintaxe.
Ao invés de t, ok := i.(T)
está descrito t, ok: = i (T)
Contexto: https://go-tour-br.appspot.com/welcome/3
Comparing the english and portuguese tour page we can get that the portuguese page are incorrect (probably out of date)
Contexto: https://go-tour-br.appspot.com/list
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
Contexto: https://go-tour-br.appspot.com/basics/3
problema já foi resolvido
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.
Contexto: https://go-tour-br.appspot.com/welcome/1
Mude o título acima para descrever seu problema e adicionar seu feedback aqui, incluíndo código se necessário
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.