Articles of ir

¿Qué significan tres puntos “./…” en invocaciones de líneas de comando Go?

Si ejecuta pruebas de Golang en Travis CI, descargará todas sus dependencias con tres puntos : go get -d -v ./… && go build -v ./… ¿Qué indica ./… o se expande hasta allí? Investigué un poco, pero no parece ser una convención de Unix.

¿Cuál es el equivalente idiomático del operador ternario de C?

En C / C ++ (y en muchos idiomas de esa familia), una expresión común para declarar e inicializar una variable en función de una condición utiliza el operador condicional ternario: int index = val > 0 ? val : -val Go no tiene el operador condicional. ¿Cuál es la forma más idiomática de implementar […]

¿Cuáles son los beneficios de usar Nginx frente a un servidor web para Go?

Estoy escribiendo algunos servicios web que devuelven datos JSON, que tienen muchos usuarios. ¿Cuáles son los beneficios de usar Nginx en mi servidor en comparación con solo usar el servidor http go?

¿Go proporciona REPL?

El entorno interactivo es MUY útil para un progtwigdor. Sin embargo, parece que Go no lo proporciona. Es mi entendimiento correcto?

¿Cómo convertir un valor int a cadena en Go?

i := 123 s := string(i) s es ‘E’, pero lo que quiero es “123” Por favor dígame cómo puedo obtener “123”. Y en Java, puedo hacer de esta manera: String s = “ab” + “c” // s is “abc” ¿Cómo puedo concat dos cadenas en Go?

¿Cuál es la forma recomendada de conectarse a MySQL desde Go?

Estoy buscando una solución confiable para conectarme a una base de datos MySQL desde Go. He visto algunas bibliotecas pero es difícil determinar los diferentes estados de compleción y mantenimiento actual. No tengo necesidades complicadas, pero me gustaría saber en qué se basan las personas o cuál es la solución más estándar para conectarse a […]

¿Cómo envío una cadena JSON en una solicitud POST en Go?

Intenté trabajar con Apiary e hice una plantilla universal para enviar JSON para simular el servidor y tener este código: package main import ( “encoding/json” “fmt” “github.com/jmcvetta/napping” “log” “net/http” ) func main() { url := “http://restapi3.apiary.io/notes” fmt.Println(“URL:>”, url) s := napping.Session{} h := &http.Header{} h.Set(“X-Custom-Header”, “myvalue”) s.Header = h var jsonStr = []byte(` { “title”: […]

Iterar sobre una interfaz

Quiero crear una función que tome un mapa o una matriz de lo que sea e iterar sobre ella llamando una función en cada elemento que sepa qué hacer con los tipos que encuentre. Aquí está mi primer bash fallido. Actualmente, cuando lo ejecuto en mi caso de uso real, siempre dice “¡oh, oh!”. func […]

Cortar un puntero de corte pasado como argumento

Tengo el siguiente código: func main() { var buf []byte{1, 2, 3, 4, 5} buf = buf[2:] fmt.Println(buf) panic(1) } Sin embargo, quiero pasar un puntero al segmento de byte buf a otra función, y cortarlo allí, así que algo así como: func main() { var buf []byte{1, 2, 3, 4, 5} sliceArr(&buf, 2) fmt.Println(buf) […]

Go 1.3 Garbage collector no libera la memoria del servidor de vuelta al sistema

Escribimos el servidor TCP más simple posible (con un registro menor) para examinar la huella de memoria (ver tcp-server.go más abajo) El servidor simplemente acepta conexiones y no hace nada. Se está ejecutando en un servidor Ubuntu 12.04.4 LTS (kernel 3.2.0-61-generic) con la versión Go go1.3 linux / amd64. El progtwig de evaluación comparativa adjunto […]