Skip to content

Commit 308ce05

Browse files
authored
Merge pull request #77 from larien/traducao/estruturas-metodos-e-interfaces
Traducao/estruturas metodos e interfaces
2 parents 9ebe2e8 + e4ea005 commit 308ce05

38 files changed

+1041
-1058
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
3. [Inteiros](primeiros-passos-com-go/inteiros.md) - Mais conteúdo sobre sintaxe de declaração de função e aprenda novas formas de melhorar a documentação do seu código.
2727
4. [Iteração](primeiros-passos-com-go/iteracao.md) - Aprenda sobre `for` e benchmarking.
2828
5. [Arrays e slices](primeiros-passos-com-go/arrays-e-slices.md) - Aprenda sobre arrays, slices, `len`, variáveis recebidas como argumentos, `range` e cobertura de testes.
29-
6. [Estruturas, métodos e interfaces](primeiros-passos-com-go/structs-methods-and-interfaces.md) - Aprenda sobre `structs`, métodos, `interface` e testes orientados a tabela \(table driven tests\).
29+
6. [Estruturas, métodos e interfaces](primeiros-passos-com-go/estruturas-metodos-e-interfaces.md) - Aprenda sobre `structs`, métodos, `interface` e testes orientados a tabela \(table driven tests\).
3030
7. [Ponteiros e erros](primeiros-passos-com-go/ponteiros-e-erros.md) - Aprenda sobre ponteiros e erros.
3131
8. [Maps](primeiros-passos-com-go/maps.md) - Aprenda sobre armazenamento de valores na estrutura de dados `map`.
3232
9. [Injeção de dependência](primeiros-passos-com-go/injecao-de-dependencia.md) - Aprenda sobre injeção de dependência, qual sua relação com interfaces e uma introdução a I/O.

SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- [Inteiros](primeiros-passos-com-go/inteiros.md)
1111
- [Iteração](primeiros-passos-com-go/iteracao.md)
1212
- [Arrays e slices](primeiros-passos-com-go/arrays-e-slices.md)
13-
- [Structs, métodos e interfaces](primeiros-passos-com-go/structs-methods-and-interfaces.md)
13+
- [Estruturas, métodos e interfaces](primeiros-passos-com-go/estruturas-metodos-e-interfaces.md)
1414
- [Ponteiros e erros](primeiros-passos-com-go/ponteiros-e-erros.md)
1515
- [Maps](primeiros-passos-com-go/maps.md)
1616
- [Injeção de dependência](primeiros-passos-com-go/dependency-injection.md)

build.books.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ docker run -v `pwd`:/source jagregory/pandoc -o aprenda-go-com-testes.pdf --late
1010
primeiros-passos-com-go/inteiros.md \
1111
primeiros-passos-com-go/iteracao.md \
1212
primeiros-passos-com-go/arrays-e-slices.md \
13-
primeiros-passos-com-go/structs-methods-and-interfaces.md \
13+
primeiros-passos-com-go/estruturas-metodos-e-interfaces.md \
1414
primeiros-passos-com-go/ponteiros-e-erros.md \
1515
primeiros-passos-com-go/maps.md \
1616
primeiros-passos-com-go/injecao-de-dependencia.md \
@@ -38,7 +38,7 @@ docker run -v `pwd`:/source jagregory/pandoc -o aprenda-go-com-testes.epub --lat
3838
primeiros-passos-com-go/inteiros.md \
3939
primeiros-passos-com-go/iteracao.md \
4040
primeiros-passos-com-go/arrays-e-slices.md \
41-
primeiros-passos-com-go/structs-methods-and-interfaces.md \
41+
primeiros-passos-com-go/estruturas-metodos-e-interfaces.md \
4242
primeiros-passos-com-go/ponteiros-e-erros.md \
4343
primeiros-passos-com-go/maps.md \
4444
primeiros-passos-com-go/injecao-de-dependencia.md \
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package main
2+
3+
// Perimetro retorna o perímetro de um retângulo
4+
func Perimetro(largura float64, altura float64) float64 {
5+
return 2 * (largura + altura)
6+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package main
2+
3+
import "testing"
4+
5+
func TestPerimetro(t *testing.T) {
6+
resultado := Perimetro(10.0, 10.0)
7+
esperado := 40.0
8+
9+
if resultado != esperado {
10+
t.Errorf("resultado %.2f, esperado %.2f", resultado, esperado)
11+
}
12+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
// Perimetro retorna o perímetro de um retângulo
4+
func Perimetro(largura float64, altura float64) float64 {
5+
return 2 * (largura + altura)
6+
}
7+
8+
// Area retorna a área de um retângulo
9+
func Area(largura float64, altura float64) float64 {
10+
return largura * altura
11+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package main
2+
3+
import "testing"
4+
5+
func TestPerimetro(t *testing.T) {
6+
resultado := Perimetro(10.0, 10.0)
7+
esperado := 40.0
8+
9+
if resultado != esperado {
10+
t.Errorf("resultado %.2f, esperado %.2f", resultado, esperado)
11+
}
12+
}
13+
14+
func TestArea(t *testing.T) {
15+
resultado := Area(12.0, 6.0)
16+
esperado := 72.0
17+
18+
if resultado != esperado {
19+
t.Errorf("resultado %.2f, esperado %.2f", resultado, esperado)
20+
}
21+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package main
2+
3+
// Retangulo tem as dimensões de um retângulo
4+
type Retangulo struct {
5+
Largura float64
6+
Altura float64
7+
}
8+
9+
// Perimetro retorna o perímetro de um retângulo
10+
func Perimetro(retangulo Retangulo) float64 {
11+
return 2 * (retangulo.Largura + retangulo.Altura)
12+
}
13+
14+
// Area retorna a área de um retângulo
15+
func Area(retangulo Retangulo) float64 {
16+
return retangulo.Largura * retangulo.Altura
17+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package main
2+
3+
import "testing"
4+
5+
func TestPerimetro(t *testing.T) {
6+
retangulo := Retangulo{10.0, 10.0}
7+
resultado := Perimetro(retangulo)
8+
esperado := 40.0
9+
10+
if resultado != esperado {
11+
t.Errorf("resultado %.2f, esperado %.2f", resultado, esperado)
12+
}
13+
}
14+
15+
func TestArea(t *testing.T) {
16+
retangulo := Retangulo{12.0, 6.0}
17+
resultado := Area(retangulo)
18+
esperado := 72.0
19+
20+
if resultado != esperado {
21+
t.Errorf("resultado %.2f, esperado %.2f", resultado, esperado)
22+
}
23+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package main
2+
3+
import "math"
4+
5+
// Retangulo tem as dimensões de um retângulo
6+
type Retangulo struct {
7+
Largura float64
8+
Altura float64
9+
}
10+
11+
// Area retorna a área de um retângulo
12+
func (r Retangulo) Area() float64 {
13+
return r.Largura * r.Altura
14+
}
15+
16+
// Perimetro retorna o perímetro de um retângulo
17+
func Perimetro(retangulo Retangulo) float64 {
18+
return 2 * (retangulo.Largura + retangulo.Altura)
19+
}
20+
21+
// Circulo representa um círculo.
22+
type Circulo struct {
23+
Raio float64
24+
}
25+
26+
// Area retorna a área de um círculo
27+
func (c Circulo) Area() float64 {
28+
return math.Pi * c.Raio * c.Raio
29+
}

0 commit comments

Comments
 (0)