package main
import "fmt"
func main () {
    //程序运行完成时一定要有输出语句,本工具才能正确展示运行结果。
    fmt.Println("Hello JSRUN!   \n\n         - from Golang .")
}
takeapagefrom(前端大神) - 2019-10-27 0 人
主函数测试包引用
package main
import (
    "runtime"
    "fmt"
)
func main () {
    fmt.Println(runtime.Version())
}
zyaller(ZYallers) - 2019-10-18 0 人
获取go版本
package main
import "fmt"
func main () {
    var ch chan int      // 声明一个传递int类型的channel

    //=========
    value := 5
    ch <- value          // 将一个数据value写入至channel,这会导致阻塞,直到有其他goroutine从这个channel中读取数据
    value1 := <-ch        // 从channel中读取数据,如果channel之前没有写入数据,也会导致阻塞,直到channel中被写入数据为止
    fmt.Println(value1)

    close(ch)            // 关闭channel

    fmt.Println("Hello JSRUN! \n")
}
admin001(前端大神) - 2019-10-09 0 人
test1.go
package main
import "fmt"
func main () {
    var ch chan int      // 声明一个传递int类型的channel

    //=========
    value := 5
    ch <- value          // 将一个数据value写入至channel,这会导致阻塞,直到有其他goroutine从这个channel中读取数据
    value1 := <-ch        // 从channel中读取数据,如果channel之前没有写入数据,也会导致阻塞,直到channel中被写入数据为止
    fmt.Println(value1)

    close(ch)            // 关闭channel

    fmt.Println("Hello JSRUN! \n")
}
admin001(前端大神) - 2019-10-09 0 人
test1.go
package main

import (
    "fmt"
    "time"
    "sync"
)
 
func main() {
    wg := sync.WaitGroup{}
 
    for i := 0; i < 5; i++ {
        wg.Add(1)
        go func(wg *sync.WaitGroup, i int) {
            fmt.Printf("i:%d\n", i)
            wg.Done()
        }(&wg, i)
    }
 
    wg.Wait()
 
    fmt.Printf("exit\n")
    fmt.Printf("All Goroutine finished!")
}

func main1() {
    var wg sync.WaitGroup

    wg.Add(2) //设置计数器,数值即为goroutine的个数
    go func() {
        //Do some work
        time.Sleep(1*time.Second)

        fmt.Println("Goroutine 1 finished!")
        wg.Done() //goroutine执行结束后将计数器减1
    }()

    go func() {
        //Do some work
        time.Sleep(2*time.Second)

        fmt.Println("Goroutine 2 finished!")
        wg.Done() //goroutine执行结束后将计数器减1
    }()

    wg.Wait() //主goroutine阻塞等待计数器变为0
    fmt.Printf("All Goroutine finished!")
}
emuxevans(Emux Evans) - 2019-09-13 0 人
waitGroup
package main

import (
    "fmt"
    "time"
    "sync"
)
 
func main() {
    wg := sync.WaitGroup{}
 
    for i := 0; i < 5; i++ {
        wg.Add(1)
        go func(wg *sync.WaitGroup, i int) {
            fmt.Printf("i:%d\n", i)
            wg.Done()
        }(&wg, i)
    }
 
    wg.Wait()
 
    fmt.Printf("exit\n")
    fmt.Printf("All Goroutine finished!")
}

func main1() {
    var wg sync.WaitGroup

    wg.Add(2) //设置计数器,数值即为goroutine的个数
    go func() {
        //Do some work
        time.Sleep(1*time.Second)

        fmt.Println("Goroutine 1 finished!")
        wg.Done() //goroutine执行结束后将计数器减1
    }()

    go func() {
        //Do some work
        time.Sleep(2*time.Second)

        fmt.Println("Goroutine 2 finished!")
        wg.Done() //goroutine执行结束后将计数器减1
    }()

    wg.Wait() //主goroutine阻塞等待计数器变为0
    fmt.Printf("All Goroutine finished!")
}
longwalk(前端大神) - 2019-09-03 0 人
waitGroup
没有了
1/6 下一页