golang实现python xrange方法
来源:互联网 发布:线切割3b编程实例宝剑 编辑:程序博客网 时间:2024/05/22 00:10
在python中,可以使用xrange方法方便地获取一个整数列表:
for v in xrange(5): print(v)
输出:
01234
golang没有原生的xrange方法,不过可以使用golang的channel配合goroutine实现一个xrange方法。
下面是一个简易版的:
func xRangeInt(count int) chan int { ch := make(chan int) go func() { for i := 0; i < count; i++ { ch <- i } close(ch) }() return ch}
完整的xrange可以接受三个参数,xrange(start, stop, step)
。比如
for v in xrange(10, 20, 2): print(v)
输出:
1012141618
下面完善一下 golang版的 xRangeInt方法:
func xRangeInt(args ...int) chan int { if l := len(args); l < 1 || l > 3 { fmt.Println("error args length, xRangeInt requires 1-3 int arguments") } var start, stop int var step int = 1 switch len(args) { case 1: stop = args[0] start = 0 case 2: start, stop = args[0], args[1] case 3: start, stop, step = args[0], args[1], args[2] } ch := make(chan int) go func() { if step > 0 { for start < stop { ch <- start start = start + step } } else { for start > stop { ch <- start start = start + step } } close(ch) }() return ch}
使用xRangeInt:
func main() { for v := range xRangeInt(20, 10, -3) { fmt.Println(v) }}
阅读全文
0 0
- golang实现python xrange方法
- 实现Python中xrange函数
- python xrange
- python·用生成器和迭代器实现自己的xrange
- python range与xrange
- python range和xrange
- python range 和 xrange
- Python range和xrange
- python range xrange
- python range与xrange
- xrange vs range python
- python中xrange用法
- Python xrange与range
- python range和xrange
- python中xrange简
- python range()和xrange()
- Python-range和xrange
- python range,xrange区别
- win10系统打字卡顿
- 文章标题
- 批处理bat修改文件后缀
- 五分钟学GIS | GIS服务器集群技术
- 南阳理工学院ACM完全覆盖
- golang实现python xrange方法
- 用GParted工具修改Ubuntu系统中/home分区大小
- uml 类图中+
- java spring mvc 整合hibernate+自定义sql处理操作+数据库连接池
- socket编程(三)
- 手动控制云信的多段登录
- SpringMVC相关笔记
- Learn X in Y minutes
- VLC的视频编音频等码格式的缩写