• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go经验总结----2017.07

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 

 

 

 

 

 

 

 
 
 
 
 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
GO语言学习(二十)Go 语言递归函数发布时间:2022-07-10
下一篇:
54_Go基础_1_21切片的拷贝发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap