C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 05)

java

----------------------------------------- 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

以上是 C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 05) 的全部内容, 来源链接: utcz.com/z/391842.html

回到顶部