zoukankan      html  css  js  c++  java
  • Go经验总结----2017.07

    1. 自定义返回一个错误信息:return errors.New("invalid action)

    2.golang这种所有被大括号包裹起来的语句都不能在外面被调用。例如:if xxx{},switch xxx{},for xxx{},需要先在外面定义:

    var name := ""
    if xxx{
        name="zhangsan"
    }else{
        name="lisi"
    }
    println(name)       
    3. 跨包调用,函数名一定要大写,相当于PHP的public,例如:db.GetUserName();

    4. 判断Map中是否存在某个key:

      _, ok := query["name"]
      if ok {
         delete(query,"name")
      }

    5. 删除Map的一个key,使用delete(相当于PHP的unset):delete(query,"name")

    6. 数组转换为字符串:strings.Join;字符串分割成数组:strings.split
     
    7. 函数返回多个值,如果一个都不想接收,可以忽略等号前面的,即:func(),而不用写成: _, _ := func()
     
    8.创建 map:
    query:=make(map[string][]string)
    query["id"] = []string{“aaa”,”bob”,”ccc"}

    9. int64转换为字符串:

    func Int642Str(num int64) string {
        return strconv.Itoa(int(num))
    }

    10. 一些数据类型转换的汇总:

    data := fmt.Sprintf("%f", 33.3) //小数转换为字符串 %f
    data := fmt.Sprintf("%d", 28) //整数转换为字符串 %d
    data := fmt.Sprintf("%v", 33.3) //小数或者整数都通用 %v
    sW := uint32(apiReq.ScreenWidth) //int32转换为uint32
    
    【字符串转换为float】
    lat, _ := strconv.ParseFloat(apiReq.Lat, 32)
    fmt.Println(lat) //float64
    fmt.Println(float32(lat)) //float32
    
    【字符串转换为int】
    int,err:=strconv.Atoi(string)   #string到int 
    int64, err := strconv.ParseInt(string, 10, 64)   #string到int64  
    string:=strconv.Itoa(int)   #int到string  
    string:=strconv.FormatInt(int64,10)    #int64到string
    
    【说明】
    d:数字、 s:字符串、f:float、v:所有

    11. 拼接字符串:

    fmt.Sprintf("%v", apiReq.Lat) + "," + fmt.Sprintf("%v", apiReq.Lng) 
    #可以简写为: fmt.Sprintf(
    "%v,%v",apiReq.Lat,apiReq.Lng)

    12. 关于iota

    const (
        AA = iota
        BB
        CC
        DD
    )
    上面的代码 AA=iota,表示从0开始,那么下面的BB=1,CC=2,DD=3
    如果是 AA = -iota,那么BB=-1,CC=-2,DD=-3
    如果是 AA = iota+10,那么BB=11,CC=12,DD=13
    13.判断一个数组类型的字段是否为空数组,len(value)==0
    if len(fRespJson.ImgUrls) == 0{
     
    }

    14. 获取当前日期(2006-01-02 15:04:05 是固定数值):

    date := time.Now().Format("2006-01-02 15:04:05")
    fmt.Println(date)
    os.Exit(1)

    15.打印输出

    打印输出:fmt.Println(123) 或者 println(123)
    终止程序:os.Exit(123)
    打印数据结构:spew.Dump(string(buf)) //类似于PHP的var_dump

    Visual Code 配置:

    【基本配置】
    // 将设置放入此文件中以覆盖默认设置
    {
    "window.zoomLevel": 1,
    "editor.fontSize": 14,
    "go.gopath": "/Users/renxing/Desktop/go",
    "go.goroot": "/usr/local/go"
    "workbench.editor.enablePreview": false #设置新打开的文件标签不覆盖之前的(很有用!!)
    }
    
    【vim .zshrc】
    source $ZSH/oh-my-zsh.sh
    source /etc/profile
     
     
     
     
     
  • 相关阅读:
    MongoDB权限管理
    Termux结合公网kali打造移动渗透神器
    整人病毒vbs大全!
    mongodb 数据库详解
    mongodb 用户及数据库管理命令
    windows入侵排查思路
    linux 下node.js 安装
    Linux下如何用/proc命令查找进程状态信息——当前目录,内存占用,描述符等
    linux c 得到指定进程内存占用
    1分钟彻底理解C语言指针
  • 原文地址:https://www.cnblogs.com/rxbook/p/7245284.html
Copyright © 2011-2022 走看看