Golang学习笔记
Posted 李军浩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang学习笔记相关的知识,希望对你有一定的参考价值。
仅以记录学习过程中各种知识点
- 对象声明:var obj1 map[string]string
- json序列化:ret,err := json.Marshal(obj1) ,ret为序列化的结果([]byte),可使用string(ret)转换为字符串
- json反序列化:var obj1 map[string]interface{} err=json.Unmarshal([]byte(str1), &obj1)
- 发起http请求:
func (this *TaocheESServiceImpl) DoHttpRequest(data string)(result string){
url := "http://192.168.200.45:9200/taochecar/_search?pretty=true"
body := strings.NewReader(data)
req, err := http.NewRequest("GET",url , body)
if err != nil {
// handle err
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
resp, err := http.DefaultClient.Do(req)
if err != nil {
// handle err
}
defer resp.Body.Close()
body1,err := ioutil.ReadAll(resp.Body)
return string(body1)
} - 获取计算机名称:os.Hostname()
- curl命令转为Golang代码:https://mholt.github.io/curl-to-go/
- interface{}类型转换:obj1.(string)
- 将字符串中每个单词的首字母转为大写:strings.Title(s) 如:user=>User,"he is running"=>"He Is Running"
- 声明多行字符串:使用`包含,如:str:=`ssss`
- 获取对象数据类型:reflect.TypeOf(obj) 获取到的是Type对象,可以进一步 .Kind()或.Name()获取具体值
reflect.TypeOf(obj).Kind() 获取到的是Kind对象,即:reflect.Int32,reflect.Int64,reflect.Float64等 - int32转string:strconv.Itoa(int(value))
- int64转string:strconv.FormatInt(value,10)
- float转string:strconv.FormatFloat (param.DistanceKm,‘f‘,20,32) ‘f‘为保留小数位标识,20为小数位数
- 字符串切割为数组:strings.Split(param.Location,",")
- 大量字符串拼接,采用bytes.Buffer
var bufFilter bytes.Buffer
bufFilter.WriteString("\"filter\": {")
bufFilter.Write(bufFilterAndNot.Bytes())
var resultstring = bufFilter.String() - 日期时间:当前时间:time.Now(),时间相减:duration:=timeEnd.Sub(timeStart),间隔秒数:duration.Seconds()
- map的使用:
- 使用mapping时,如果不知道value的具体类型,可使用interface{}做value的数据类型进行定义,如:var obj1 map[string]interface{}
- 声明:var m1 map[string]string
- 初始化:m1 = make(map[string]string) 或 obj1=new(map[string]interface{})
- 赋值:m1["a"] = "aa"
- 一步完成:// 初始化 + 赋值一体化
m3 := map[string]string{
"a": "aa",
"b": "bb",
} - 遍历:
for k, v := range m1 {
fmt.Println(k, v)
} - 查找:
if v, ok := m1["a"]; ok {
fmt.Println(v)
}
以上是关于Golang学习笔记的主要内容,如果未能解决你的问题,请参考以下文章