Preguntas etiquetadas con go

Go es un lenguaje de programación de código abierto. Está tipado estáticamente, con una sintaxis derivada libremente de C, que agrega administración de memoria automática, seguridad de escritura, algunas capacidades de tipeo dinámico, tipos incorporados adicionales, como matrices de longitud variable (llamados cortes) y mapas de valores clave, y un Gran biblioteca estándar.

1
Go no está vinculando mi ensamblaje: función externa indefinida
Estoy tratando de escribir algo de SIMD principalmente con fines de aprendizaje. Sé que Go puede vincular el ensamblaje, pero no puedo hacer que funcione correctamente. Este es el ejemplo más mínimo que puedo hacer (multiplicación de vectores por elementos): vec_amd64.s (nota: el archivo real tiene una línea de espacio …
82 assembly  go 

12
¿Cómo reducir el tamaño del archivo compilado?
Comparemos cy vayamos: Hello_world.c: #include<stdio.h> int main(){ printf("Hello world!"); } Hello_world.go: package main import "fmt" func main(){ fmt.Printf("Hello world!") } Compila ambos: $gcc Hello_world.c -o Hello_c $8g Hello_world.go -o Hello_go.8 $8l Hello_go.8 -o Hello_go ¿Y qué es eso? $ls -ls ... 5,4K 2010-10-05 11:09 Hello_c ... 991K 2010-10-05 11:17 Hello_go …
82 go 

3
¿Cuál es el tamaño del búfer de canal?
Estoy intentando crear un canal asincrónico y he estado mirando http://golang.org/ref/spec#Making_slices_maps_and_channels . c := make(chan int, 10) // channel with a buffer size of 10 ¿Qué significa que el tamaño del búfer es 10? ¿Qué representa / limita específicamente el tamaño del búfer?
82 go  channel 


8
matriz aleatoria en Go
Intenté traducir el siguiente código de Python a Go import random list = [i for i in range(1, 25)] random.shuffle(list) print(list) pero encontré mi versión de Go larga e incómoda porque no hay función de reproducción aleatoria y tuve que implementar interfaces y convertir tipos. ¿Cuál sería una versión idiomática …
82 arrays  go 

7
¿Por qué las listas se utilizan con poca frecuencia en Go?
Soy nuevo en Go y estoy muy emocionado por ello. Pero, en todos los lenguajes con los que he trabajado extensamente: Delphi, C #, C ++, Python: las listas son muy importantes porque se pueden cambiar de tamaño dinámicamente, a diferencia de las matrices. En Golang, de hecho, hay una …
82 arrays  list  go 

5
Varias rutinas gordas escuchando en un canal
Tengo múltiples goroutines tratando de recibir en el mismo canal simultáneamente. Parece que la última goroutine que comienza a recibir en el canal obtiene el valor. ¿Está esto en alguna parte de la especificación del idioma o es un comportamiento indefinido? c := make(chan string) for i := 0; i …
82 go 

4
Captura de valores de retorno de goroutines
El siguiente código da un error de compilación que dice 'marcha inesperada': x := go doSomething(arg) func doSomething(arg int) int{ ... return my_int_value } Lo sé, puedo recuperar el valor de retorno si llamo a la función normalmente, sin usar goroutine. O puedo usar canales, etc. Mi pregunta es por …

8
¿Cómo comprobar que un canal está cerrado o no sin leerlo?
Este es un buen ejemplo del modo de trabajadores y controlador en Go escrito por @Jimt, en respuesta a " ¿Hay alguna forma elegante de pausar y reanudar cualquier otra rutina de gor en golang? " package main import ( "fmt" "runtime" "sync" "time" ) // Possible worker states. const …
82 go  channel 

9
Reutilizar conexiones http en Golang
Actualmente estoy luchando por encontrar una manera de reutilizar las conexiones cuando hago publicaciones HTTP en Golang. He creado un transporte y un cliente así: // Create a new transport and HTTP client tr := &http.Transport{} client := &http.Client{Transport: tr} Luego paso este puntero de cliente a una goroutine que …
81 go 

3
¿Cuál es la diferencia entre go get e go install?
Después de jugar con la goherramienta por un tiempo, parece quego get : (opcionalmente) descargas, compila, e instala una pieza de software, mientras que go installsimplemente compila e instala eso. En este caso, ¿por qué existe el go installcomando, ya que lo go getreemplaza?
81 go 

4
¿Cómo instalo requisitos en Go? "No se puede encontrar el paquete"
Soy nuevo en Go y estoy intentando configurar un proyecto de Go con documentación mínima: https://github.com/alphagov/metadata-api Lo he clonado, pero cuando lo intento go buildrecibo las siguientes advertencias: main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of: /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT) /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH) main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of: …
81 go 



2
Conseguir la unión de dos mapas en marcha
Tengo una función recursiva que crea objetos que representan rutas de archivo (las claves son rutas y los valores son información sobre el archivo). Es recursivo ya que solo está destinado a manejar archivos, por lo que si se encuentra un directorio, la función se llama de forma recursiva en …
81 map  go  union 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.