我是golang的新手并且第一次尝试这个。我必须打电话给雅虎财务api(YQL)以获得json格式的符号的股票价格。 这是api:
http://query.yahooapis.com/v1/public/yql?q=select%20LastTradePriceOnly%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22AAPL%22,%22FB%22,%22GOOG%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys
现在我在上面的选择查询中对符号(AAPL,FB,GOOG)进行了硬编码,但这些符号将来自用户,它应该是动态的。我应该如何在golang中将输入(符号)添加到上面的查询?
感谢您的帮助。
答案 0 :(得分:0)
如果您将符号(由用户提供)作为字符串数组参数(例如:" symbols
",为string["\"AAPL\"", "\"FB\"", "\"GOOG\""]
),则可以使用{{3生成正确的字符串:
s := strings.Joins(symbols, ",")
然后(详见" strings/#Join
"),使用Encode / decode URLs获取符号的最终网址字符串:
url := "http://query.yahooapis.com/v1/public/yql?q=select%20LastTradePriceOnly%20from%20yahoo.finance.quote%20where%20symbol%20in%20(" +
url.QueryEscape(s) +
")&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"