Open vkorbes opened 3 years ago
Meu segundo exercício: https://play.golang.org/p/WmjC7Ou1iFI
Eu não senti muita dificuldade, pela explicação dos vídeos que foi boa.
package main
import (
"fmt"
)
var x int
var y string
var z bool
func main (){
fmt.Printf("O valor da variavel X em package-level scope que foi atribuido: %v do tipo: %T \n\n",x,x)
fmt.Printf("O valor da variavel Y em package-level scope que foi atribuido: %v do tipo: %T \n\n",y,y)
fmt.Printf("O valor da variavel Z em package-level scope que foi atribuido: %v do tipo: %T \n\n",z,z)
}
Não senti dificuldades em fazer o exercício :) Segue o código abaixo: package main
import "fmt"
var x int var y string var z bool
func main() { fmt.Printf("Valor de x: %v, do tipo: %T\n", x, x) fmt.Printf("Valor de y: %v, do tipo: %T\n", y, y) fmt.Printf("Valor de z: %v, do tipo: %T", z, z) }
Por algum motivo achei que era para usar o SPrintf, e tive que pesquisar, no final não consegui printar o Boolean (%t) então mudei para o Printf.
package main
import (
"fmt"
)
var x int
var y string
var z bool
func main() {
fmt.Printf("%v\n %v\n %v\n", x,y,z)
}
Por algum motivo achei que era para usar o SPrintf, e tive que pesquisar, no final não consegui printar o Boolean (%t) então mudei para o Printf.
package main import ( "fmt" ) var x int var y string var z bool func main() { fmt.Printf("%v\n %v\n %v\n", x,y,z) }
@guifeliper
O Sprintf() é so pra formatar string tem que atribuir ele a uma variável para poder usar
segue a minha solução como exemplo
package main
import "fmt"
var x int
var y string
var z bool
func main() {
valores := fmt.Sprintf("Valor de x: %d | Valor de y: %s | valor de z: %t", x, y, z)
fmt.Println(valores)
fmt.Println(`=> os valores atribuidos acima são chamados de: valores padrão ou "zero values"`)
}
package main
import "fmt"
var (
x int
y string
z bool
)
func main() {
fmt.Printf("%d, %s, %v\n", x, y, z)
}
São valores 0, por default atribuídos respectivamente: 0, , false
package main
import "fmt"
// Declaração de variáveis com package-level scope
var x int
var y string
var z bool
func main() {
// Imprime as variáveis mostrando seus valores com quebras de linha
fmt.Printf("%v \n%v \n%v", x, y, z)
}
Output:
0
false
Code:
package main
import (
"fmt"
)
var x int
var y string
var z bool
func main() {
fmt.Println(x, y, z)
}
Output:
0 false
Program exited.
package main
import "fmt"
var x int
var y string
var z bool
func main() {
fmt.Printf("x %v\n", x)
fmt.Printf("y %v\n", y)
fmt.Printf("z %v\n", z)
}
package main
import "fmt"
var x int
var y string
var z bool
func main() {
fmt.Println("Valores zero de cada tipo: ")
fmt.Printf("\tVariável: X | Valor: %v | Tipo: %T\n", x, x)
fmt.Printf("\tVariável: Y | Valor: \"%v\" | Tipo: %T\n", y, y)
fmt.Printf("\tVariável: Z | Valor: %v | Tipo: %T\n", z, z)
}
Output:
Valores zero de cada tipo:
Variável: X | Valor: 0 | Tipo: int
Variável: Y | Valor: "" | Tipo: string
Variável: Z | Valor: false | Tipo: bool
package main
import ( "fmt" )
var x int var y string var z bool
func main() {
fmt.Printf("x: %v, %T \n", x, x,)
fmt.Printf("y: %v, %T \n", y, y)
fmt.Printf("z: %v, %T", z, z)
}
package main
import ( "fmt" )
var x int var y string var z bool
func main() { fmt.Printf("Variável x : %v, %T\n",x,x) fmt.Printf("Variável y : %v, %T\n",y,y) fmt.Printf("Variável z : %v,%T\n",z,z) }
### Saída
Variável x : 0, int Variável y : , string Variável z : false,bool
https://play.golang.org/p/pet5zNj8gNn
[O que foi difícil?] A pergunta 2 (valor zero), pois é um conceito que já conhecia, mas não sabia a terminologia.
` package main
import "fmt"
var x int var y string var z bool
func main() { fmt.Printf("Tipo: %T | Valor: %v\n", x, x) fmt.Printf("Tipo: %T | Valor: %v\n", y, y) fmt.Printf("Tipo: %T | Valor: %v\n", z, z) } `
Code:
// Main Package
package main
// Import of the packages
import (
"fmt"
)
// Package-level variables
var (
x int
y string
z bool
)
// Main function
func main() {
fmt.Printf("Value of X: \"%v\", Type of X: \"%T\"\n", x, x)
fmt.Printf("Value of Y: \"%v\", Type of Y: \"%T\"\n", y, y)
fmt.Printf("Value of Z: \"%v\", Type of Z: \"%T\"\n", z, z)
}
Output:
Value of X: "0", Type of X: "int"
Value of Y: "", Type of Y: "string"
Value of Z: "false", Type of Z: "bool"
package main
import "fmt"
var x int
var y string
var z bool
func main() {
// Demonstrando os valores zero dos três identificadores
fmt.Printf("x = %v\ny = %v\nz = %v", x, y, z)
}
x = 0
y =
z = false
// You can edit this code! // Click here and start typing. package main
import "fmt"
var x int var y string var z bool
func main() { fmt.Printf("%v, %T\n", x, x) fmt.Printf("%v, %T\n", y, y) fmt.Printf("%v, %T\n", z, z) fmt.Println("As variáveis de incialização são chamadas de variáveis :=valor zero:=") }
func main() {
fmt.Printf("%d\n", x)
fmt.Printf("%s\n", y)
fmt.Printf("%t\n", z)
//valores 0
}
package main
import ( "fmt" )
var x int var y string var z bool
func main() { fmt.Printf("%v = %T\n", x, x) fmt.Printf("%v = %T\n", y, y) fmt.Printf("%v = %T", z, z) }
Minha solução https://go.dev/play/p/bDiN95v7byK
https://go.dev/play/p/dKCWBti1tgw
// You can edit this code!
// Click here and start typing.
package main
import "fmt"
var x int
var y string
var z bool
func main() {
fmt.Printf("%v\n%v\n%v", x, y, z)
}
-----------------------------------------------------------------------------------------------------------------------------------------------
Output
0
false
Program exited.
-----------------------------------------------------------------------------------------------------------------------------------------------
/*
Na prática: exercício #2
Use var para declarar três variáveis. Elas devem ter package-level scope. Não atribua valores a estas variáveis. Utilize os seguintes identificadores e tipos para estas variáveis:
Identificador "x" deverá ter tipo int
Identificador "y" deverá ter tipo string
Identificador "z" deverá ter tipo bool
Na função main:
Demonstre os valores de cada identificador
O compilador atribuiu valores para essas variáveis. Como esses valores se chamam?
*/
package main
import (
"fmt"
)
var x int
var y string
var z bool
func main() {
fmt.Println(x)
fmt.Println(y)
fmt.Println(z)
//Valor zero
}
//eu tinha colocado aspas no final do comando e não parava de dar erro. ai refiz de maneira diferente e deu certo kk, fiquei //uns 20 minutos procurando o erro
package main
import "fmt"
var x = "int" var y = "string" var z = "bool"
func main() { fmt.Printf("%v\n", x) fmt.Printf("%v\n", y) fmt.Printf("%v\n", z) }
//o que dava erro
package main
import "fmt"
var x = "int" var y = "string" var z = "bool"
func main() { fmt.Println("x, y, z") //<essas aspas tava fazendo o comando dar esse resultado "x, y, z" }
package main
import "fmt"
func main() {
x := 42
y := "James Bond"
z := true
fmt.Println(x, y, z)
fmt.Println(x)
fmt.Println(y)
fmt.Println(z)
}
Eu não tinha entendido muito bem o que era para fazer, mas saiu!
https://goplay.tools/snippet/fMV-5FlEi1W
`package main
import ( "fmt" )
var x int var y string var z bool
func main() {
fmt.Printf("O valor da variável x é: %v e seu tipo é %T\n", x, x)
fmt.Printf("O valor da variável y é: %v e seu tipo é %T\n", y, y)
fmt.Printf("O valor da variável z é: %v e seu tipo é %T\n", z, z)
}`
package main
import "fmt"
var x int
var y string
var z bool
func main() {
fmt.Printf("%T\n", x)
fmt.Printf("%T\n", y)
fmt.Printf("%T\n", z)
fmt.Println("")
//valor zero
fmt.Printf("%v\n", x)
fmt.Printf("%v\n", y)
fmt.Printf("%v\n", z)
}
Exercício: Capítulo 3, Exercício 2 (Nível: 1)
Use esta thread para compartilhar sua solução, discutir o exercício com os colegas e pedir ajuda caso tenha dificuldades!