Go语言特性学习

  1. go没有class 
  2. go的package 类似类的概念,包中的方法如果想被外部访问必须大写
协程组成
  1. go逻辑处理器(和cpu数量有关)
  2. go调度器

异常处理

package main

import (
    "fmt"
)
func main() {
    f1()
    f2()
}
func f1(){
    fmt.Println("我是方法1")
    //抛出异常
    panic("我是抛出错误")
}
func f2(){
    fmt.Println("我是方法2")
}
+ 抛出捕获
package main
import (
"fmt"
)
func main() {
    f1()
    f2()
}
func f1() {
    defer func() {
        if err := recover(); err != nil {
            fmt.Println("我捕获到一个错误:",err)
            fmt.Println("代码继续运行")
        }
    }()
    fmt.Println("我是方法1")
    //抛出异常
    panic("我是抛出错误")
}

func f2() {
    fmt.Println("我是方法2")
}
go的变量类型
  1. 值类型 :int float bool string 数组 结构体
  2. 引用类型 :指针 切片 管道 接口 map 函数
cgo 在go中调用c的类库
cgo 不支持c++的类,因为c++没有一个二进制接口规范,并且只支持c语言中的值类型和数据类型
go测试框架
  1. GoConvey  测试框架
  2. Gostub       打桩工具
  3. GoMock     假数据工具
  4. Monkey     
Go函数的返回值
  • 返回值,要不都定义变量要不都不定义
Go接口不用引入包
Go ++ 都是放到操作数之后,没有返回值不能用表达式

posted @ 2018-10-17 09:40  Bigger程序员  阅读(155)  评论(0编辑  收藏  举报