Как сохранить переменную в строке? Я читал примеры, но они всего лишь println!()
.Как отправить интерполированную строку на канал?
//javascript
var url_str = "http://api.weather/city" + city_code + "/get";
//go
urlStr := fmt.Sprintf("http://api.weather/%s/get", cityCode)
// Edit: Rust
let url_str = format!("http://api.openweathermap.org/data/2.5/weather?q={}", city_code);
Я использую tx.send()
и хочу отправить интерполированную строку на канале, как это:
let url_str = "http://api.weather";
c.send(url_str);
, но я получаю сообщение об ошибке
src/http_get/http_getter.rs:21:17: 21:24 error: `url_str` does not live long enough
src/http_get/http_getter.rs:21 c.send(&url_str);
^~~~~~~
Вот функция, которую я пытается реализовать для построения URL-адреса:
pub fn construct_url(c: &Sender<String>, city_code: &str) {
let url_str = format!("http://api.openweathermap.org/data/2.5/weather?q={}", city_code);
println!("{}", url_str);
c.send(url_str);
}
Хм, 'url_str', кажется, не является интерполированной строкой? Не могли бы вы добавить дополнительные сведения, например. как создается 'c'? – huon
привет, я добавил fn, что я использую – Hokutosei