----------------------------------------- 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, -)
// print result
result = reg.FindAdllStringSubmatch(buf, -)
}

----------------------------------------- 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{}, ) // 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)的更多相关文章

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

    ----------------------------------------- go 并发 // 注解:go 语言天生为程序并发所设计,可以说go的强项就是在cpu并发上的处理. // go 语言 ...

  2. C#/Java 程序员转GO/golang程序员笔记大全(day 01)

    前言: 整理一下学习 Go 语言的笔记,作为一名老程序,学习一名新的开发语言自然不需要像小白那样从 HelloWorld 看起. 简单整理一下 Go 的一些差异处,希望对大家学习 go 有点帮助,不正 ...

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

    一.安装说明 https://studygolang.com/dl 二.环境变量 // 下载 *.msi 安装文件,部分环境变量默认配置好了. 其他配置如下描述 三.目录及项目层级关系 在系统环境变量 ...

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

    -------------------- interface 接口 // 定义: type IHumaner interface { SayHi() // 接口中只能是方法声明,没有实现,没有数据字段 ...

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

    go语言当中,没有 class 的概念,那么面向对象的编程思想如何展现呢,go语言中对结构体的使用 struct. package main import "fmt" type P ...

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

    ------------------- 指针 go 保留的 c 语言指针的操作,同时增加了自动垃圾回收机制 var a = new(int) *a = // &a 内存地址 --------- ...

  7. PHP笔记——java程序员看懂PHP程序

    PHP笔记——java程序员看懂PHP程序   php是一种服务器端脚本语言,类型松散的语言. <?php   ?>       xml风格 <script language=”ph ...

  8. 使用 Java 开发兼容 IPv6 的网络应用程序

    根据现有 IPv4 地址的部署速度,剩余的地址将在 10 到 20 年被使用殆尽.因此网络逐渐从 IPv4 向 IPv6 转换是不可避免的,相应的各种网络应用程序都将支持 IPv6.对于 Java,从 ...

  9. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

随机推荐

  1. cpu-》内存-》磁盘

    cpu相当于计算机大脑负责计算以及发送执行命令:内存相当于人的记忆是临时存储:磁盘相当于笔记本,负责永久存储数据: 当系统需要调用硬盘当中的数据时,会将硬盘数据读入内存供cpu进行处理.cpu只会读取 ...

  2. TabLayout与ViewPager同步后Tab的标题不显示

    一.概述 1.1 问题描述 TabLayout+ViewPager后,TabLayout的TabItem不显示的问题: 1.2 截图 二.结论 mTabs.setupWithViewPager(mVi ...

  3. quic协议实践

    QUIC实践 环境Ubuntu14.x86_64 gcc4.8 python2.7 编译QUIC服务器和客户端 下载 git clone https://github.com/google/proto ...

  4. STM32 HAL库详解 及 手动移植

    源: STM32 HAL库详解 及 手动移植

  5. list元素排序需要满足两个条件

    关于List 说到list,我的印象就是单值集合接口,插入取出是有序的,允许重复,用他的实现类用的最频繁的就是ArrayList了.如果我现在有一个list,插入了一些值,想让里面的值按照我自定义的规 ...

  6. js 判断是ie浏览器

    if (!+[1,]) { //IE window.event.returnValue = false; } else { return false; }

  7. Yahoo网站性能优化的34条规则

    摘自:http://blog.chinaunix.net/uid/20714478/cid-74195-list-1.html Yahoo网站性能优化的34条规则 1.尽量减少HTTP请求次数 终端用 ...

  8. centos安装oracle客户端

    使用centos远程登陆oracle服务器: 下载需要的rpm包: [root@node1 oracle]# lltotal 59872-rw-r--r-- 1 root root 59865008 ...

  9. 20145329 《Java程序设计》实验五总结

    实验内容: 1.用老师代码编写,实现服务器与客户端. 2.客户端与服务器连接 3.客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传 ...

  10. 20145331《Java程序设计》第5周学习总结

    20145331<Java程序设计>第5周学习总结 教材学习内容总结 第八章 概述 Java异常机制主要依赖于try.catch.finally.throw.throws五个关键字. 语法 ...