内容简介:----------------------------------------- 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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript经典实例
Shelley Powers / 李强 / 中国电力出版社 / 2012-3 / 78.00元
《JavaScript经典实例》各节中的完整代码解决了常见的编程问题,并且给出了在任何浏览器中构建Web应用程序的技术。只需要将这些代码示例复制并粘贴到你自己的项目中就行了,可以快速完成工作,并且在此过程中学习JavaScript的很多知识。你还将学习如何利用ECMAScript5和HTML5中的最新功能,包括新的跨域挂件通信技术、HTML5的video和audio元素,以及绘制画布。《JavaS......一起来看看 《JavaScript经典实例》 这本书的介绍吧!