GO的其他功能 | 青训营笔记

83 阅读2分钟

错误处理

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所设置的环境变量的目录