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", ) //整数转换为字符串 %d
data := fmt.Sprintf("%v", 33.3) //小数或者整数都通用 %v
sW := uint32(apiReq.ScreenWidth) //int32转换为uint32 【字符串转换为float】
lat, _ := strconv.ParseFloat(apiReq.Lat, )
fmt.Println(lat) //float64
fmt.Println(float32(lat)) //float32 【字符串转换为int】
int,err:=strconv.Atoi(string) #string到int
int64, err := strconv.ParseInt(string, , ) #string到int64
string:=strconv.Itoa(int) #int到string
string:=strconv.FormatInt(int64,) #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=,CC=,DD=
如果是 AA = -iota,那么BB=-,CC=-,DD=-
如果是 AA = iota+,那么BB=,CC=,DD=
13.判断一个数组类型的字段是否为空数组,len(value)==0
if len(fRespJson.ImgUrls) == {

}

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

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

15.打印输出

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

Visual Code 配置:

【基本配置】
// 将设置放入此文件中以覆盖默认设置
{
"window.zoomLevel": ,
"editor.fontSize": ,
"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
 
 
 
 
 

Go经验总结----2017.07的更多相关文章

  1. 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

    作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09     据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...

  2. CVTE后台开发实习生岗位面试经验(2017.3)

    3月份我在看准网发布过这篇面经,现在转过来.原文链接:http://www.kanzhun.com/gsmsh10433357.html 投递岗位是web后台实习生 做完笔试后一天对方即发来面试通知 ...

  3. 2017.07.07【NOIP提高组】模拟赛B组

    Summary 因为某种无法抗拒的原因,今天没有打比赛,所以也就没有那种心态.今天的题目有状压DP和二分,这套题不难也不简单,适中,适合我这种渣渣来做.在改题时,发现了许多问题.我连欧拉函数的计算都记 ...

  4. Work 3(工作类) (2017.07.01)

  5. 2017.07.14【NOIP提高组】模拟赛B组

    Summary 这次比赛因为迟到了,少了很多时间,也受到了相应的惩罚,这是好的,是个标记牌,警醒着我.这次比赛的题目很难,也就是说,大家的得分都很低,总的来说,收获还是很大的,因为有非常多的技巧被掌握 ...

  6. 2017.07.11【NOIP提高组】模拟赛B组

    Summary 今天的比赛打得还不错,第一题被同桌灌输的贪心,纯模拟洗脑了,然后steal的看了一下,发现怎么也对不了,一直在检查.最后10分钟才找出反例,推出动态规划方程,没有想到怎么转移,比赛就结 ...

  7. 2017.07.10【NOIP提高组】模拟赛B组

    Summary 今天题目总体不是难,但是分数很低,只有100+10+30,其中第二题还是以前做过的,第一题设计数论,而且以前做过同一个类型的题目,比赛推了很长时间.第三题时以前做过的原题,是贪心没学好 ...

  8. 2017.07.09【NOIP提高组】模拟赛B组

    Summary 今天放假,比赛于是就没有打了,但是看了一下题,发现都挺简单了,不想码~╮(╯▽╰)╭懒虫一条.最后一题居然做过原题.这次比赛让我对并查集“刮目相看”,对贪心感到“前途无量”,觉得树形D ...

  9. 2017.07.06【NOIP提高组】模拟赛B组

    Summary 今天比赛感觉题目很奇葩,都可以用许多简单方法来做,正确性都显然,当然也有点水,也就是说是考我们的数感和数学知识,而程序,只是代码的体现. 这次的时间安排感觉不错,因为很快就打完最后一道 ...

随机推荐

  1. 配置国内PIP源方法

    python开发者都知道,当我们pip install安装扩展库的时候,经常遇到安装失败(超时)等,有时候是因为国外镜像被屏蔽了,带来不少麻烦, 随着国内python开发的增多,越来越多企业都开放了自 ...

  2. 使用bat将优盘中的dig加到系统环境变量

    第一次使用bat批处理,记录下,方便查阅. @echo off::当前盘符set curPath=%cd%set digPath ="%curPath%tool\dig"set P ...

  3. SSL证书安装指引

    https://cloud.tencent.com/document/product/400/4143 下载得到的 www.domain.com.zip 文件,解压获得3个文件夹,分别是Apache. ...

  4. wamp配置虚拟机步骤

    1.首先修改C:\Windows\System32\drivers\etc下的hosts文件      添加一行 127.0.0.1       myblog.org    //映射到本机 2.然后修 ...

  5. struts异常:Caused by: Parent package is not defined: json-default - [unknown location]解决办法

    问题描述: Unable to load configuration. - [unknown location] at com.opensymphony.xwork2.config.Configura ...

  6. vue不是内部或外部命令,配置一个Path系统变量就可以解决

    作为一个vue小白,最近为vue安装真是操碎了心.无论怎么查找网上的教程,还是解决不了"vue不是内部或外部的命令"诸如此类的问题.好在功夫不负有心人,终于在多次的试验下,成功解决 ...

  7. vue+springboot前后端分离实现单点登录跨域问题处理

    最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登 ...

  8. 自学python Day01

    What is Python 1. 面向对象的解释行语言 2. 非常丰富的库 3. 使用制表符作为语句缩进 (white space) 优点: 1. 免费.开源 2. 可扩展性.可嵌入性 3. 非常丰 ...

  9. Overload&Override

    Overload&Override overload-–重载 方法的重载就是在一个类中,可以定义多个有相同名字,但参数不同的方法.调用时,会根据不同的参数表选择对应的方法. 规    则:两同 ...

  10. python_如何对实例属性进行类型检查?

    案例: 在某项目中,我们实现了一些类,并希望能像静态语言那样对他们的实例属性进行类型检查 p = Person() p.name = 'xi_xi'         # 必须是str p.age = ...