-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exercício: Capítulo 13, Exercício 2 (Nível: 6) #42
Comments
Minha solução é basicamente igual porém pra primeira função eu crio a variável já chamando a função e depois faço o print do valor: |
https://play.golang.org/p/ZuSobQ3z_g7 No início fiquei com dúvidas em relação como criar uma função que receba um valor do (type of slice).. Entre colocar (x ..int) and (x []int), mas após fazer do meu jeito consegui chegar no resultado. Adicionei outra função (teste) logo apos assistir o video e sanar minha dúvida.
Output
|
My solution: /* - Crie uma função que receba um parâmetro variádico do tipo int e
retorne a soma de todos os ints recebidos;
- Passe um valor do tipo slice of int como argumento para a função;
- Crie outra função, esta deve receber um valor do tipo slice of int e
retornar a soma de todos os elementos da slice;
- Passe um valor do tipo slice of int como argumento para a função.
*/
package main
import "fmt"
func main() {
s := []int{1, 2, 3, 4, 5}
fmt.Println(variação(s...))
fmt.Println(variação2(s))
}
func variação(x ...int) (total int) {
for v := range x {
total += x[v]
}
return
}
func variação2(y []int) (total int) {
for v := range y {
total += y[v]
}
return
} |
Cap. 13 – Exercícios: Nível #6 – 2 |
Já que era o mesmo codigo, não reescrevi 2 vezes 😄 package main
import "fmt"
func main() {
value_1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
total_1 := SomaInts(value_1...)
fmt.Println(total_1)
value_2 := []int{10, 20, 30, 40, 50, 60, 70, 80, 90}
total_2 := SomaSlicesInts(value_2)
fmt.Println(total_2)
}
func SomaInts(value ...int) int {
total := 0
for _, v := range value {
total += v
}
return total
}
func SomaSlicesInts(value []int) int {
total := SomaInts(value...)
return total
} |
package main
import "fmt"
//Crie uma função que receba um parâmetro variádico do tipo int e retorne a soma de todos os ints recebidos
//Passe um valor do tipo slice of int como argumento para a função;
//Crie outra função, esta deve receber um valor do tipo slice of int e retornar a soma de todos os elementos da slice;
//Passe um valor do tipo slice of int como argumento para a função.
func main() {
slice := []int{2, 3, 5}
fmt.Println(somaDeVariadico(slice...))
}
func somaDeVariadico(variadico ...int) int {
total := 0
for _, v := range variadico {
total += v
}
return total
} |
Exercício: Capítulo 13, Exercício 2 (Nível: 6)
Use esta thread para compartilhar sua solução, discutir o exercício com os colegas e pedir ajuda caso tenha dificuldades!
The text was updated successfully, but these errors were encountered: