stevewang

第 1556 号会员 /

回复了 liuhaochuan 创建的主题: 一行神奇的代码看不懂求知道!

这么写你就看清楚了吧。

urls := []string{
    "https://golang.org",
    "https://godoc.org",
    "https://play.golang.org",
    "http://gopl.io",
    "https://golang.org",
    "https://godoc.org",
    "https://play.golang.org",
    "http://gopl.io",
}
for _, url := range urls {
    ch <- url
}

回复了 winebag 创建的主题: golang 产生不重复的随机数

每次获取随机数,都要执行rand.Newrand.NewSource,效率比较低。
另外,这个程序只是保证随机数不与上一个重复,而不是保证全部都不重复。

回复了 liguanfeng 创建的主题: golang反射相关问题,如何通过反射动态添加切片值??

package main

import(
    "fmt"
    "reflect"
)

func main() {
    s := []int{1, 2, 3}
    s = AppendSlice(s, 4).([]int)
    fmt.Println(s)
}

func AppendSlice(i, e interface{}) interface{} {
    t := reflect.TypeOf(i)
    if t.Kind() != reflect.Slice {
        panic("slice wanted")
    }
    v := reflect.ValueOf(i)
    return reflect.Append(v, reflect.ValueOf(e)).Interface()
}

回复了 sneermorn 创建的主题: 有关协程并发的问题

并发和并行的概念不一样。
对于单核来说,并发不受限制,但是影响并行能力。
例如,单核也可以运行多任务OS,多任务实际就是一种并发。

回复了 sneermorn 创建的主题: 有关协程并发的问题

因为你的任务是CPU密集型的,当各个CPU/核都满负载的时候,再增加并发数并不能提高计算速度。

回复了 lobster 创建的主题: 从flag.Int遇到的问题

flag.go line:123

func (i *intValue) String() string { return fmt.Sprintf("%v", *i) }

回复了 snake117 创建的主题: 如何外部关闭go程?

要麻烦一些。
思路是置换底层的transport,实现自己的net.Conn接口用来控制Read/Write。