Closed jmc-ops closed 4 weeks ago
Hola @jmc-ops ¿Podrías compartir el contenido /home/jmcarpio/go/bin/dlv
? El error dice que falta un archivo llamado go.mod
¿Ejecutaste el comando go mod init
?
@jmc-ops puedes insertar bloques de código dentro de los issues en Github, en el editor tienes un iconito así: <>. Con eso es más fácil seguir tu código. También tienes repetidos demasiados pedazos de código, aguas al pegarlo.
Para visualizar cómo veremos los demás tu mensaje, da click en Preview.
@jmc-ops Otra cuestión, la función main
está declarada dos veces en el código que pegaste
Les comparto lo que visualizo en la consola
Te completo por acá el ejemplo con el bloque de código correcto:
package main
import "fmt"
func val1() bool {
fmt.Println("val1 gets called")
return true
}
func val2() bool {
fmt.Println("val2 gets called")
return false
}
func main() {
if val1() && val2() {
fmt.Println("Shouldn't print")
}
fmt.Println("Testing for the second time")
if val2() && val1() {
fmt.Println("Shouldn't print")
}
if val1() || val2() {
fmt.Println("The boolean expression is true")
}
if val2() || val1() {
fmt.Println("The boolean expression is true")
}
}
Tienes dos opciones para correrlo, la primera es directamente:
go run tuarchivo.go
La segunda es usar el toolchain de go para construirlo a manera de módulo. Para ello ejecutas
go mod init ejemplo01
esto genera un archivo go.mod
con la información básica como el nombre del módulo y la versión de go.go build
lo que genera un archivo llamado ejemplo01
que es ejecutable../ejemplo01
¡Suerte! :four_leaf_clover:
Les comparto lo que visualizo en la consola
go mod init
no es una instrucción de go, es un comando para ejecutar en una terminal. Además, trata de no usar espacios en los nombres de archivos.
@jmc-ops Es importante que dentro de la carpeta donde está el archivo package main.go 1
tengas un archivo llamado go.mod
Edit: Si te sirve este podría ser el contenido del archivo:
module nombre
go 1.22.6
Donde nombre
sería el nombre de la carpeta donde tienes el código, por ejemplo
en su momento a mi me sirvió crear un archivo .txt, en el directorio donde voy a poner mis archivos, y luego le cambié el nombre a go.mod con el contenido siguiente:
module nombre_del_directorio
go 1.22.4
@jmc-ops ¿Pudiste ejecutar el código?
Se cierra el issue por falta de respuesta del interesado
Hola. A mi se me presento el siguiente problema al tratar de ejecutar el siguiente codigo desde VSCode que tengo conectado con WSL . Nota: No tuve ningun problema en la instalación de go y linux
Hay que hacer algo adicional para que corra el codigo ?
package main
import "fmt"
func val1() bool { package main
import "fmt"
func val1() bool { fmt.Println("val1 gets called") return true } func val2() bool { fmt.Println("val2 gets called") return false } func main() { if val1() && val2() { fmt.Println("Shouldn't print") } fmt.Println("Testing for the second time") if val2() && val1() { fmt.Println("Shouldn't print") } if val1() || val2() { fmt.Println("The boolean expression is true") } if val2() || val1() { fmt.Println("The boolean expression is true") } }fmt.Println("val1 gets called") return true } func val2() bool { fmt.Println("val2 gets called") return false } func main() { if val1() && val2() { fmt.Println("Shouldn't print") } fmt.Println("Testing for the second time") if val2() && val1() { fmt.Println("Shouldn't print") } if val1() || val2() { fmt.Println("The boolean expression is true") } if val2() || val1() { fmt.Println("The boolean expression is true") } }