zoukankan      html  css  js  c++  java
  • 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 ++ 都是放到操作数之后,没有返回值不能用表达式

  • 相关阅读:
    c++中利用宏定义简化for循环使用
    UVA1152- 枚举 /二分查找
    acm 模板
    Xwindow的文章
    编程语言博客
    csh与bash比较
    关于锁与并发的资料总结
    linux su和sudo命令的区别
    对Memcached使用的总结和使用场景
    iptables配置——NAT地址转换
  • 原文地址:https://www.cnblogs.com/biggerCoder/p/9802187.html
Copyright © 2011-2022 走看看