内容简介:----------------------------------------- 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程序员节,祝程序员们节日快乐!
- 我是女程序员,不是程序媛
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Little Prover
Daniel P. Friedman、Carl Eastlund / The MIT Press / 2015-7-10 / USD 38.00
[FROM www.amazon.com]: The Little Prover introduces inductive proofs as a way to determine facts about computer programs. It is written in an approachable, engaging style of question-and-answer, wi......一起来看看 《The Little Prover》 这本书的介绍吧!