我想动态更改我的股票行情间隔。
我写下了一个例子来向您展示我的工作方式。我的用例不是“加速度计”,而是希望它能给您一个构想。
http://play.golang.org/p/6ANFnoE6pA
package main
import (
"time"
"log"
"fmt"
)
func main() {
interval := float64(1000)
ticker := time.NewTicker(time.Duration(interval) * time.Millisecond)
go func(){
counter := 1.0
for range ticker.C {
log.Println("ticker accelerating to " + fmt.Sprint(interval/counter) + " ms")
ticker = time.NewTicker(time.Duration(interval/counter) * time.Millisecond)
counter++
}
log.Println("stopped")
}()
time.Sleep(5 * time.Second)
log.Println("stopping ticker")
ticker.Stop()
}
出问题的是,股票报价器总是每秒钟都在“滴答”,并且不会加速…有什么想法吗?
遵循对@fzerorubigd的回答,但更加完整。
range
这种情况下我们无法使用,因为
range
循环会html" target="_blank">缓存要被变量化的变量,然后就无法覆盖该变量(此处示例: http
然后,我们应该使用for
- select
组合循环。以下是工作解决方案:
http://play.golang.org/p/3uJrAIhnTQ
package main
import (
"time"
"log"
"fmt"
)
func main() {
start_interval := float64(1000)
quit := make(chan bool)
go func(){
ticker := time.NewTicker(time.Duration(start_interval) * time.Millisecond)
counter := 1.0
for {
select {
case <-ticker.C:
log.Println("ticker accelerating to " + fmt.Sprint(start_interval/counter) + " ms")
ticker.Stop()
ticker = time.NewTicker(time.Duration(start_interval/counter) * time.Millisecond)
counter++
case <-quit:
ticker.Stop()
log.Println("..ticker stopped!")
return
}
}
}()
time.Sleep(5 * time.Second)
log.Println("stopping ticker...")
quit<-true
time.Sleep(500 * time.Millisecond) // just to see quit messages
}
问题内容: 如果我在一个自动收录器频道范围内通话并调用stop(),则该频道已停止但未关闭。 在此示例中: 运行产生: 因此,goroutine永远不会退出。有没有更好的方法来处理这种情况?我应该担心goroutine永远不会退出吗? 问题答案: 在第二个频道上发出“完成”信号,然后在代码行情清单和已完成的频道之间选择您的goroutine。 根据您真正想做的事情,可能存在更好的解决方案,但这很难
问题内容: 我正在尝试开始一个偶数时间戳。基本上我想要的是这段代码: 要始终每隔5秒打印一次: 是否有一个优雅的解决方案? 问题答案: 您可以将股票行情显示的开始时间延迟到将近5秒钟: 或者使用Time方法获得正确延迟的另一种方法:
本文向大家介绍Android版的股票行情K线图开发,包括了Android版的股票行情K线图开发的使用技巧和注意事项,需要的朋友参考一下 现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下。 下面是做出来的效果图: 背景图是利用canvas先画出一个矩形,然后再画几根虚线,均线图是通过pa
尝试解决这个问题:假设您有一个数组,其中第i个元素是给定股票在第i天的价格。 设计一个算法来寻找最大利润。您最多可以完成两笔交易。 解决方案:我正在做的是分而治之的方法。 dp[i][j]是ith和jth day之间的最大利润。计算如下: dp[i][j]=max(dp[i][j],max(prices[i]-prices[j],dp[k][j],dp[i][k1]),其中k小于i且大于j。 现在
假设你有一个数组,其第i个元素是第一天给定股票的价格。 如果您可以进行无限次的买卖(一次只能持有一只股票),但每次出售都需要支付交易费,请计算您可以获得的最大利润。 样本输入{1,3,7,5,10,3}fee=3。 如果你做了两次交易,总利润是(7-1)-3(10-5)-3=5。如果你只进行一次交易,总利润为(10-1)-3=6。 最初的版本很简单,但我不知道如何接近这个修改后的版本。有人能给我一
A股 股票市场总貌 上海证券交易所 接口: stock_sse_summary 目标地址: http://www.sse.com.cn/market/stockdata/statistic/ 描述: 上海证券交易所-股票数据总貌 限量: 单次返回最近交易日的股票数据总貌数据(当前交易日的数据需要交易所收盘后统计) 输入参数 名称 类型 必选 描述 - - - - 输出参数-实时行情数据 名称 类型