内容简介:----------------------------------------- error 使用 (异常处理)----------------------------------------- panic 使用 (异常处理)----------------------------------------- recover 使用 (异常处理)
----------------------------------------- error 使用 (异常处理)
// 语法 (普通错误)
import "errors"
func funName(paratemer) (result int, err error) {
err = errors.New("自定义错误信息")
}
----------------------------------------- panic 使用 (异常处理)
// 语法 (致命错误)
panic("自定义错误信息") // 直接中断应用程序
// 比如数组越界、空指针异常都是 go 内部实现的 panic 函数
----------------------------------------- recover 使用 (异常处理)
// 语法 (恢复错误)
// recover 必须放在 defer 后面使用
defer func() {
// recover()
if err := recover(); err != nil { // 产生了panic异常
fmt.Println(recover())
}
}() // 注解:defer 方法执行完成后执行、 ()默认调用匿名函数
----------------------------------------- 字符串处理
// 方法 // 基础操作: // Contains / Join / Index / Repeat / Repalce / Split / Trim / Fields // 转换: // Append / Format / Parse
----------------------------------------- regexp 正则表达式
import "regexp"
func main() {
buf := "0.2 456 asdx 1.233 7. 8.99 aloong 6.66"
reg := regexp.MustCompile(`\d+\.\d`)
if reg == nil {
// ... error
return
}
result := reg.FindAllString(buf, -1)
// print result
result = reg.FindAdllStringSubmatch(buf, -1)
}
----------------------------------------- json 的使用 (结构体转JSON)
import (
"encoding/json"
"fmt"
)
// 根据结构体转换 JSON
type IT struct {
Company string
/*
// struct_tag 的使用,语法:
Company string `json:"company"` // 二次编码
Company string `json:"-"` // -代表该字段不会输出到屏幕
IsOK bool `json:",string"` // 转string
*/
Subjects []string
IsOK bool
Price float64
}
func main() {
s := IT{"it", []string{"C#", "java", "python", "go"}, false, 666.66}
//buf, err := json.Marshal(s)
buf, err := json.Marshal(s, "", " ") // 格式化编码
if err != nil {
// print err
return
}
fmt.Println(string(buf))
}
----------------------------------------- json 的使用 (map转JSON)
func main() {
m := make(map[string]interface{}, 1) // interface{} 万能数据类型
m["company"] = "loongsoft"
result, err := json.MarshalIndent(m, "", " ")
// println(string(result))
}
----------------------------------------- json 的使用 (JSON转结构体)
func main() {
var tmp IT
json.Unmarshll([]byte(jsonValue), &tmp)
// print tmp
}
----------------------------------------- IO 操作 文件
// Create / NewFile / Open / OpenFile // ... documents
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 程序员有话说 | 平时的程序猿 VS 面试的程序员
- 程序员高薪盛宴背后:程序员正在消失?
- 大龄程序员的出路,程序员的人生
- 程序员被沦陷!国内程序员真的饱和了?
- 1024程序员节,祝程序员们节日快乐!
- 我是女程序员,不是程序媛
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Out of their Minds
Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00
This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!