zoukankan      html  css  js  c++  java
  • Chanel

    随便写了个tour练习

    Go的chanel体验还是不错的,共享地址

    package main
    
    import "fmt"
    
    func sum(s []int, c chan int) {
        sum := 0
        for _, v := range s {
            sum += v
        }
        c <- sum
    }
    
    func main() {
        s := []int{1, 2, 3, 4, 5}
        c := make(chan int)
        go sum(s[:len(s) / 2], c)
        go sum(s[len(s) / 2:], c)
        x, y := <- c, <-c
    
        fmt.Println(x, y, x + y)
    
    
    }

    --

    package main
    
    type Tree struct {
        Left *Tree
        Value int
        Right *Tree
    }
    
    func Walk(t *Tree, ch chan int) {
        if t.Left != nil {
            Walk(t.Left, ch)
        }
        ch <- t.Value
        if t.Right != nil {
            Walk(t.Right, ch)
        }
        return
    }
    
    func Same(t1, t2 *Tree) bool  {
        ch1, ch2 := make(chan int), make(chan int)
        go Walk(t1, ch1)
        go Walk(t2, ch2)
        if <-ch1 == <-ch2 {
            return true
        } else {
            return false
        }
    }

    end,最近会专注于Go的学习

    一个没有高级趣味的人。 email:hushui502@gmail.com
  • 相关阅读:
    5.9上午
    5.4下午
    5.4上午
    5.2上午
    4.19下午
    4.18上午
    4.17下午
    4.17上午
    4.12下午
    4.13下午
  • 原文地址:https://www.cnblogs.com/CherryTab/p/12301840.html
Copyright © 2011-2022 走看看