无法使用dlang.org中的代码示例

时间:2013-12-10 21:29:54

标签: d

我有无法编译的代码

import std.string;
import std.net.curl;

int main(string[] argv)
{
    string a = get("http://google.com");
    return 0;
}

Error: cannot implicitly convert expression (get("http://google.com", AutoProtocol())) of type char[] to string

http://dlang.org/phobos/std_net_curl.html中有代码

import std.net.curl, std.stdio;

// Return a string containing the content specified by an URL
string content = get("dlang.org");

为什么我不能编译相同的代码?

1 个答案:

答案 0 :(得分:9)

示例错误 - get返回char []而不是string。区别在于字符串是不可变的,但char不是。

两种解决方法:

char[] a = get("http://google.com"); // or you could do auto a = ... instead

string a = get("http://google.com").idup;

第二个产生数据的不可变副本。第一个使用适当的类型。