错误处理
Go中通过将错误作为函数返回值返回来对错误进行处理,如
func findUser(users []user,name string)(v *user,err error){
for _,u:=range users{
if u.name==name{
return &u,nil
}
}
return nil,error.New("not found")
}
其中,调用error类中的New方法创建了一个新的错误示例,其内容是“not found”,将新建立的错误示例作为返回值返回。
将错误作为函数返回值抛出后,该函数的调用者就要在接收函数的返回值中接收这个错误,并且对这个错误进行处理
字符串处理
go中也有类似于其他语言那样的字符串的处理功能,在使用字符串的处理功能时首先要导包,import("string")
这个包中包含了对字符串的一系列处理方法,如
strings.split()用于分割字符串
strings.count()用于对字符串中的某个字符计数
strings.Index()用于查找字符串中某个字符出现的首位置
strings.Join()拼接两个字符串等等
此外,在fmt包中,还有对字符串的格式化输出功能,go中对字符串的格式化输出十分简单,无需像c中那样,整数用%d,浮点数用%f...
在go中对字符串的格式化输出十分简单,使用%v即可解决一切,%+v显示详细信息,%#v显示带包名的详细信息,%v显示比较粗略的信息。
此外,fmt.Println()方法自带换行,fmt.Printf()和c中的printf类似,是带参数的格式化输出。
利用encoding包中的json,可以实现对json数据的处理,import("encoding/json")导包。
json.Marshal()方法可以将一个对象转化为json串,值得注意的是这个字符串它不是string格式的,要对其输出得强转为string类型才行
json.Unmarshal()可以将一个json串转化为一个对象
利用strconv包中的组件可以很容易的实现go语言中字符串类型和其他类型数据之间的转化。
如strconv.ParseFloat("1.234",64)是将1.234这个字符串转化为一个单精度浮点数,位数是64位的,此外还有strconv.ParseInt()等
利用strconv.Atoi()将字符串自动转化为相应类型的数字,strconv.Itoa()则是数字转字符串
进程信息
若要查看进程信息,可以导入os包,使用import("os")导入。
os.Args可以查看传入此程序的命令行参数
os.Getenv("PATH")可以查看为go所设置的环境变量的目录