Golang
Qual è l'ordine di attraversamento degli elementi in una mappa in Go? (fisso secondo un certo algoritmo / arbitrario, determinato durante la compilazione / arbitrario, determinato durante l'esecuzione)
Può spiegare cosa si intende con il termine User Manager?
Spiega il concetto di suddivisione dei compiti tra più thread o processi per ottimizzare il funzionamento del sistema. Cosa significa il termine Work-Sharing?
Quali sono i vantaggi e gli svantaggi della parte server dell'applicazione?
Qual è la funzione dell'utilità pickup nel processo di sviluppo?
Quali meccanismi garantiscono la resilienza di Kafka ai guasti e alla perdita di dati?
In quali casi una goroutine termina l'esecuzione e trasferisce il controllo a un'altra?
Quali meccanismi consentono la copia asincrona dei dati tra i database?
È possibile aggiungere un elemento a una slice che non è ancora stata creata o inizializzata?
Quali metodi e strumenti conosci per implementare la programmazione generica nei tuoi progetti?
Come è organizzata la struttura dell'array in memoria e come si accede ai suoi elementi?
Hai domande per noi?
Come viene implementata la struttura orientata agli oggetti nel linguaggio Go e come si differenzia da quella classica?
Puoi spiegare cos'è l'operatore SELECT in SQL e a cosa serve?
Per quali compiti vengono utilizzate le operazioni atomiche nella programmazione?
func Copy(src io.Reader, dst io.Writer) error { //... } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) (statusCh, error) { //... go func() { statusCh }() } func Read() { select { case status := <-statusCh: } } type Stat struct { status string err error } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) go func() { statusCh{ } } return statusCh } func Read() { select { case status := <-statusCh: } } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) buf := make([]byte, 1024) var total int64 go func() { for { n, err := src.Read(buf) if n > 0 { writen, err := dst.Write(buf[:n]) total += int64(writen) if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } if err == io.EOF { statusCh <- Stat{ bCopy: total, status: "done", err: nil, } return } if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } } return statusCh } func Read() { select { case status := <-statusCh: if status.err != nil { return } } } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) buf := make([]byte, 1024) var total int64 go func() { for { select { case : n, err := src.Read(buf) if n > 0 { writen, err := dst.Write(buf[:n]) total += int64(writen) if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } if err == io.EOF { statusCh <- Stat{ bCopy: total, status: "done", err: nil, } return } if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } default: statusCh <- Stat{ bCopy: total, status: "pending", err: nil, } } } } return statusCh } func Read() { select { case status := <-statusCh: if status.err != nil { return } } }
Come si possono raccogliere e elaborare i risultati di cinque goroutine avviate contemporaneamente?
Ci sono scadenze o offerte già fatte?
Cos'è un linter in Go?
Come funziona la funzione copy nel linguaggio Go e in quali casi è giustificato il suo utilizzo?