Sobes.tech

Golang

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 } } }

Senior
Бюро 1440Бюро 1440
175

Kā ar Map strādāt, ja izmanto tikai atslēgas, nesaglabājot vērtības?

Junior — Middle
AvitoAvito
175

Vai jums ir pieredze ar slāņu arhitektūru?

Junior — Middle
Lamoda Tech
175

Vai ir termiņi vai jau ir piedāvājumi?

Senior
OZONOZON
175

Kādas pasākumus var veikt, lai novērstu atvērtu failu deskriptoru limita pārsniegšanu sistēmā?

Junior — Middle
AvitoAvito
175

Kā paslēpt objekta iekšējās detaļas Go valodā?

Junior — Middle
175

Vai jūs varat izskaidrot slāņainās arhitektūras koncepciju un tās galvenās sastāvdaļas?

Junior — Middle
Positive TechnologiesPositive Technologies
175

Kādā ceļā iet gorutina pēc sistēmas funkcijas izsaukšanas?

Junior — Middle
175

Kā efektīvi atjaunināt vai izvilkt skaitītāja vērtības kartes datu struktūrā?

Junior — Middle
WildberriesWildberries
175

Kāds ir elementu apmeklējuma kārtība Go map? (fiksēta pēc noteikta algoritma / nejauša, noteikta kompilācijas laikā / nejauša, noteikta izpildes laikā)

Senior
Лаборатория Касперского
174

Vai jūs varētu izskaidrot, ko nozīmē termins User Manager?

Junior — Middle
IDT
174

Skaidrojiet uzdevumu sadalīšanas koncepciju starp vairākiem pavedieniem vai procesiem, lai optimizētu sistēmas darbu. Ko nozīmē termins Work-Sharing?

Junior — Middle
174

Kādi ir lietojumprogrammas servera daļas priekšrocības un trūkumi?

Junior — Middle
174

Kādi mehānismi nodrošina Kafka izturību pret kļūdām un datu zudumu?

Middle — Middle+
Lamoda Tech
174

Vai var pievienot elementu slice, kas vēl nav izveidots vai inicializēts?

Junior — Middle
VK CloudVK Cloud
174

Kādas situācijas var rasties vienlaicīgas ierakstīšanas laikā kartes tipa glabātuvē?

Junior — Middle
174

Vai ir iespējams veikt datu lasīšanas operāciju no sēkļa, kas nav iepriekš inicializēts?

Junior — Middle
174

Kādus metodes un rīkus jūs zināt vispārējās programmēšanas īstenošanai savos projektos?

Junior — Middle
Digital Spirit
174

Vai jums ir kādi jautājumi mums?

Senior
Ozon ФинтехOzon Финтех
174

Kā objektorientētā struktūra ir īstenota Go valodā un kā tā atšķiras no klasiskās?

Junior — Middle
174
/412