<commit_before># ucloud-go-sdk
Ucloud API 的 go语言SDK

## 安装
    go get gitcafe.com/mengzhuo/ucloud-go-sdk
    // Or..
    go get github.com/mengzhuo/ucloud-go-sdk

## 使用例子
    
    import (
        ucloud "gitcafe.com/mengzhuo/ucloud-go-sdk"
        )

    u := ucloud.NewUcloudApiClient("https://api.ucloud.cn", publicKey, privateKey, "1", "1")
    response, err := u.Do(&ucloud.SendSms{"Hello World", []string{"10086"}})
    if err != nil || !response.OK() {
        // 一些错误处理
    }
    // 业务代码……

## Response处理
由于Golang是静态语言，仅能通过interface的方式保证接口的统一
因此，如需要对请求的数据进行读取，便需要type assertion
例如：
    
    rsp, err := u.Do(&ucloud.DescribeUHostInstance{Region: "cn-east-01"})
    if err != nil {
        panic(err)
    }
    for _, h := range rsp.Data().([]*ucloud.UHostSet) {
        fmt.Println(h)
        for _, v := range h.DiskSet {
            fmt.Println(v)
        }
    }
    /* 返回
    &{uhost-ahdvfh Normal 71bf5434-9ae1-4b1e-ad6d-39cc814a1423 uimage-55j4fq UCloud Debian 6.0 64位 Default  uhost0 Running 1427473439 Trial 1427905439 2 4096 [0xc208129080 0xc208129260] [0xc20813c140]}
    &{Boot 71bf5434-9ae1-4b1e-ad6d-39cc814a1423 20}
    &{Data b9a0cb79-6d4c-4303-95a2-c97d7c5cf939 20}
    */

## Request种类
目前包括了

    Host<commit_msg>fix readme<commit_after># ucloud-go-sdk
Ucloud API 的 go语言SDK

## 安装
    go get gitcafe.com/mengzhuo/ucloud-go-sdk
    // Or..
    go get github.com/mengzhuo/ucloud-go-sdk

## 使用例子
    
    import (
        ucloud "gitcafe.com/mengzhuo/ucloud-go-sdk"
        )

    u := ucloud.NewUcloudApiClient("https://api.ucloud.cn", publicKey, privateKey, "1", "1")
    response, err := u.Do(&ucloud.SendSms{"Hello World", []string{"10086"}})
    if err != nil || !response.OK() {
        // 一些错误处理
    }
    // 业务代码……

## Response处理
由于Golang是静态语言，仅能通过interface的方式保证接口的统一
因此，如需要对请求的数据进行读取，便需要type assertion
例如：
    
    rsp, err := u.Do(&ucloud.DescribeUHostInstance{Region: "cn-east-01"})
    if err != nil {
        panic(err)
    }
    for _, h := range rsp.Data().([]*ucloud.UHostSet) {
        fmt.Println(h)
        for _, v := range h.DiskSet {
            fmt.Println(v)
        }
    }
    /* 返回
    &{uhost-ahdvfh Normal 71bf5434-9ae1-4b1e-ad6d-39cc814a1423 uimage-55j4fq UCloud Debian 6.0 64位 Default  uhost0 Running 1427473439 Trial 1427905439 2 4096 [0xc208129080 0xc208129260] [0xc20813c140]}
    &{Boot 71bf5434-9ae1-4b1e-ad6d-39cc814a1423 20}
    &{Data b9a0cb79-6d4c-4303-95a2-c97d7c5cf939 20}
    */

## Request种类
目前包括了

    UHost
{'fraction_non_alphanumeric': 0.14227970897332257, 'fraction_numerical': 0.10913500404203719, 'mean_word_length': 2.629032258064516, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1933861', 'n_tokens_mistral': 1280, 'n_tokens_neox': 1153, 'n_words': 174}