美文网首页
go基本语法操作

go基本语法操作

作者: 洛奇lodge | 来源:发表于2019-01-12 11:40 被阅读0次

异常处理

异常类型error
import "errors"
import "fmt"

func main() {
    // 定义并初始化异常类型
    var err1 error = errors.New("这是一个错误")
    fmt.Println(err1)

    var err2 error = fmt.Errorf("这也是一个错误")
    fmt.Println(err2)
}
异常捕获recover
func main() {
    // 异常捕获方式, 需要捕获哪个函数的异常,就需要放在哪个函数内部的第一位
    defer func() {
        if err := recover(); err != nil {
            fmt.Println()
        }
    }()

    a := 12
    fmt.Println(a)

    c1 := 12
    c2 := 0
    c := c1 / c2
    fmt.Println(c)
}  
// 结果
// 12
// runtime error: integer divide by zero
异常抛出panic
func Test() {
    panic("这是一个致命错误,抛出异常")
}

字符串处理

字符串常用操作
import strings

func main() {
    // Contains 字符串包含判断
    strings.Contains("wwwwuuee", "uuee")  // ture
    strings.Contains("wwwwuuee", "ue1")  // false

    // Join 字符串拼接
    s := []string{"abc", "hello", "world"}
    string.Join(s, "@")  // "abc@hello@world"

    // Index 查找字符串位置
    string.Index("hellopython", "python")  // 5, 不存在返回-1

    // Repeat 使字符串重复出现多次
    string.Repeat("go", 2)  // "gogo"

    // Split 指定字符分割字符串
    string.Split("ni,hao,nishni", ",") // [ni hao nishni]

    // Trim根据指定字符,去掉首尾的空格字符串
    string.Trim("  are you ok    ", " ")  // "are you ok"

    // Fields以空格字符切割字符串,类似Split
    strings.Fields("  are you ok    ")  // [are you ok]

    // Replace将字符串的某个字符替换 (原字符串, 要替换字符, 新的字符,替换数量)
    strings.Replace("gougougo", "go", "python", 2) // "pythonupythonugo"
}


正则表达式

import "regexp"

func main() {
    // 解释规则
    reg := regexp.MustCompiles(`正则表达式`)  // 反引号是原生字符串
    if reg == nil {
        panic("error")
    }

    // 匹配得到结果
    result = reg.FindAllStringSubmatch("要匹配字符串", -1) // -1表示全部匹配
}

JSON处理

import "encoding/json"

// 变量名必须大写, 如果想变量名小写,则需要转换
type Person struct {
    Name string `json:"name"`  // 变量名小写
    Id   int `json:"-"`        // 不会输出到屏幕上
    Age  float32 `json:", string"`  // json时候改变变量名的数据类型
} 

func main() {
    s := Person{}
    // 将结构体或map转换为json
    // resp, err := json.Marshal(s)
    resp, _ := json.MarshalIndent(s, "", " ")  // 格式化输出json结构 

    // 将json转换为结构体或map
    map2 := make(map[string]interface{})
    json.Unmarshal(resp, &map2)
}

相关文章

  • go基本语法操作

    异常处理 异常类型error 异常捕获recover 异常抛出panic 字符串处理 字符串常用操作 正则表达式 ...

  • beego 模版语法

    beego 模板语法指南 本文讲述 beego 中使用的模板语法,与 go 模板语法基本相同。 基本语法 go 统...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • go的基本操作

    现在go是越来越火,大有赶超python之势。熟悉python,学go基本语法还是很简单的,就是有些复杂一点的操作...

  • go 基本语法

    数据类型: 告诉编译器这个数(变量)应该以多大的内存存储 命名规范: 1) 字母,下划线,数字 2) 不能以数字开...

  • GO基本语法

    变量 变量可以认为是程序在内存中申请一块数据存储空间的名称, 程序常常声明一个变量, 然后再内存中申请一块空间, ...

  • go基本语法

    一、总结 1、Go没有对象,没有继承多台,没有泛型,没有try/catch2、Go有接口,函数式编程,csp并发模...

  • GO基本语法

    //GO基本语法介绍 package main // 声明main包 import( // 导入...

  • go基本语法

    首先 下载vscode并安装go插件;下载go源码(从golang中国社区)选windows-amd64的哪个解压...

  • Go 语言 Unit Testing 单元测试

    关于 Go 的基本语法,参见:半天时间 Go 语言的基本实践 单元测试 Go 中提供了 testing 这个 pa...

网友评论

      本文标题:go基本语法操作

      本文链接:https://www.haomeiwen.com/subject/adiqdqtx.html