Great. Thank you. I fixed it by adding a second channel to indicate worker
success.
On Friday, August 5, 2016 at 3:47:09 PM UTC-7, Dave Cheney wrote:
>
> Your program exits because the channel is buffered, so the main goroutine
> exits immediately once it has sent the value to the channel. Once the main
> goroutine returns, the program will exit.
>
> On Saturday, 6 August 2016 08:38:54 UTC+10, Jon Strauss wrote:
>>
>> Hello,
>> I have the following code:
>>
>> package main
>>
>> import "fmt"
>> import "encoding/hex"
>> import "os"
>>
>> func main() {
>> var bytes []byte
>> var channel chan []byte
>>
>> file,_ := os.OpenFile("/dev/random", os.O_RDONLY, 0)
>> bytes = make([]byte,20)
>> _, _ = file.Read(bytes)
>>
>> channel = make(chan []byte,1)
>> go worker(channel)
>> channel <- bytes
>> }
>>
>> func worker(channel chan []byte) {
>> var dest string
>>
>> bytes := <-channel
>> dest = hex.EncodeToString(bytes)
>> fmt.Println(dest)
>>
>>
>> }
>>
>>
>> Instead of printing a hex string the program simply exits. What am I
>> doing wrong?
>> -William
>>
>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.