#Primeros pasos en GO
tipos
// tipo integer
var num int = 1
//tipo string
var str string = "hello"
//aqui no es necesario declarar var
//al colocar : go detecta el tipo a esto se le llama autotipado
arr := []int{1,2,3}
crear array en base a una estructura (forma1)
package main
import "fmt"
type User struct{
Id int
Name string
}
func main() {
i := 0
users := make([]User, 10)
for i<10 {
users[i] = User{i, fmt.Sprintf("Juan %d",i)}
i++
}
fmt.Println(users)
}
crear array en base a una estructura (forma2)
package main
import "fmt"
type User struct{
Id int
Name string
}
var users []*User
func main() {
i := 0
for i<10 {
u := new(User)
u.Id = i
u.Name = fmt.Sprintf("Juan %d",i)
users = append(users, u)
i++
}
fmt.Println(users)
}
crear array literal
package main
import (
"fmt"
)
var languages = make(map[string]string)
func init() {
languages["cs"] = "C #"
languages["js"] = "JavaScript"
languages["rb"] = "Ruby"
languages["go"] = "Golang"
}
func Get(key string) string {
return languages[key]
}
func Add(key, value string) {
languages[key] = value
}
func GetAll() map[string]string {
return languages
}
func main() {
Add("php","PHP")
fmt.Println(GetAll())
}
crear un servidor e imprimir json
import "net/http"
var items = []int{1,2,3,4}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
json.NewEncoder(w).Encode(items)
})
http.ListenAndServe(":8001", nil)