On Sat, Jan 28, 2023 at 8:05 AM yeshwanthchowdary jampala <
[email protected]> wrote:

> Hi everyone,
>
> I'm getting this error:
> 1)cannot use j (variable of type int) as type string in send
> 2)cannot use x (variable of type int) as type float32 in argument to
> comppricevalue
> 3)cannot use k (variable of type int) as type float32 in send
>

Those errors seem clear enough to me. Consider the first one. It is telling
you that at line 80 you are attempting to send an int on a channel you
defined as passing strings (from line 73: `job := make(chan string, 3)`).
If you want to pass integers through the channel change its creation to
`job := make(chan int, 3)`. Alternatively, change the channel send from this

    for j := 1; j <= 9; j++ {
        job <- j
    }

to this

    for j := 1; j <= 9; j++ {
        job <- fmt.Sprintf("%d", j)  // or strconv.Itoa(j)
    }

Perhaps you were expecting Go to recognize the channel handled strings and
automatically convert the int to a string (similar to how C has implicit
type conversions). Go, for good reasons, does not do any implicit type
conversions other than for untyped constants (see
https://go.dev/ref/spec#Constants).


> Code:
> package main
>
> import (
>     "fmt"
>     "time"
> )
>
> type ClientOrder2 struct {
>     Order_id        int
>     Account_id      string
>     Currency_symbol string
>     Pricevalue      float32
>     SellorBuystatus string
> }
>
> var orders2 = []ClientOrder2{
>     ClientOrder2{
>         Order_id:        1,
>         Account_id:      "yesh123",
>         Currency_symbol: "USD/EUR",
>         Pricevalue:      70.001,
>         SellorBuystatus: "sell",
>     },
>     ClientOrder2{
>         Currency_symbol: "USD/INR",
>         Pricevalue:      70.002,
>     },
>     ClientOrder2{
>         Currency_symbol: "USD/EUR",
>         Pricevalue:      71.003,
>     },
>     ClientOrder2{
>         Currency_symbol: "USD/EUR",
>         Pricevalue:      70.001,
>     },
> }
>
> func compcurrency(id string, jobs <-chan string, results chan<- string)
> <-chan string {
>     put := make(chan string, 4)
>     go func() {
>         for j := range jobs {
>             for i := 0; i < 4; i++ {
>                 put <- j
>             }
>             fmt.Println("comparing pricevalues", id, "Market open:", j)
>             time.Sleep(time.Second)
>             results <- j
>         }
>     }()
>     return put
> }
>
> func comppricevalue(id float32, jobs1 <-chan float32, results1 chan<-
> float32) <-chan float32 {
>     putt := make(chan float32, 4)
>     go func() {
>         for k := range jobs1 {
>             for i := 0; i < 4; i++ {
>                 putt <- k
>             }
>             fmt.Println("comparing pricevalues", id, "Market open:", k)
>             time.Sleep(time.Second)
>             results1 <- k
>         }
>     }()
>     return putt
> }
>
> func main() {
>     fmt.Println("program starting")
>
>     fmt.Println(orders2)
>
>     job := make(chan string, 3)
>     result := make(chan string, 3)
>
>     for w := "a"; w <="f"; {
>         go compcurrency(w, job, result)
>     }
>     for j := 1; j <= 9; j++ {
>         job <- j
>     }
>     close(job)
>     for a := 1; a <= 9; a++ {
>         <-result
>     }
>
>     job1 := make(chan float32, 3)
>     result1 := make(chan float32, 3)
>
>     for x := 1; x <= 2; x++ {
>         go comppricevalue(x, job1, result1)
>     }
>     for k := 1; k <= 9; k++ {
>         job1 <- k
>     }
>     close(job1)
>     for a := 1; a <= 9; a++ {
>         <-result1
>     }
> }
>
> --
> 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/ae0ca8cd-3e71-4f5d-b1e4-755c6e24eeebn%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/ae0ca8cd-3e71-4f5d-b1e4-755c6e24eeebn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Kurtis Rader
Caretaker of the exceptional canines Junior and Hank

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CABx2%3DD8vdKfNVhG2oX5p7iw2U-U_M6HudXf9KEAXYyaviLiqxw%40mail.gmail.com.

Reply via email to