goland快捷键:
ctrl+d 删除该行
alt+<- 切换页面
shift+enter 在此行下面新建行
Go内置函数:
和Java语言一样,在Go语言中,有一些函数无需导包即可使用,这样的内置函数有15个:
make:为切片,map、通道类型分配内存并初始化对象。
len:计算数组、切片、map、通道的长度。
cap:计算数组、切片、通道的容量。
delete:删除 map 中对应的键值对。
append:将数据添加到切片的末尾。
copy:将原切片的数据复制到新切片中。
new:除切片、map、通道类型以外的类型分配内存并初始化对象,返回的类型为指针。
complex:生成一个复数。
real:获取复数的实部。
imag:获取复数的虚部
print:将信息打印到标准输出,没有换行。
println:将信息打印到标准输出并换行。
close:关闭通道。
panic:触发程序异常。
recover:捕捉 panic 的异常信息,必须卸载defer相关的代码块中。
defer将在后面的文章中介绍
指针,slice,和 map 的零值都是 nil ,即还没有分配空间。
map 必须初始化
不用make初始化,往里面存值会报错 初值nil var m map[string]string
建议:初始化一律用make
不同类型的数据零值不一样
bool false
numbers 0
string ""
pointer nil
slice nil
map nil
channel、interface、function nil
struct 默认值不是nil、默认值是具体字段的默认值
代码规范:
1、代码规范并不是强制的,但是不同的语言一些细微的规范还是要遵守的
2、团队内部统一风格,提高代码可读性、统一性
1、命名规范:
方法的访问范围控制的规则,和函数一样。方法名首字母小写,只能在本包访问,方法首字母
大写,可以在本包和其它包访问。
① 包名 package main
尽量和目录名保持一致
尽量采取有意义的包名,简短
不要和标准库冲突
包名采用全部小写
② 文件名
user_name.go 如果有多个单词可以采用蛇型命名法
③ 变量名
1.蛇形: python、php
2.驼峰: java、c、go
userName
un string
有一些专有名词,URLVersion
bool类型 Has is、can allow 开头
④ 结构体命名
驼峰
⑤ 接口命名
和结构体差不多
结构以er结尾,或加个I
type Writer interface
type IWrit interface
⑥ 常量命名
全部大写,如果有多个单词,那么使用蛇形命名法 APP_VERSION
2、注释规范
1、//单行注释
2、多行注释
变量后面加注释
包注释
接口注释
函数注释
代码逻辑的注释
3、import注释
go自带的包
空格
第三方的包
空格
自己内部的包
包的说明:
打包基本语法 package 包名
引入包的基本语法 import "包的路径"
package main
import (
"fmt"
"go_learning/chapter06/fundemo01/utils" //导入包
)
法二:通过 make 来创建切片 (最常用)
基本语法:var 切片名 [ ]type = make([ ]type, len, [cap])
type: 就是数据类型
len : 大小
cap :指定切片容量,可选, 如果你分配了 cap,则要求 cap>=len