美文网首页
go学习第二天

go学习第二天

作者: 三郎ZFM | 来源:发表于2019-02-14 14:56 被阅读0次

    包引入里的小技巧:
    1、省略导入的包前缀

    import(
            . "fmt"
    )
    

    这样使用fmt包时,可以直接使用函数名,不需要使用fmt前缀
    如:

    Println("Hello world")
    

    2、处理包冲突
    同一个源代码文件中,引入多个包,包的最后一级名字不能重复,否则会引入冲突和编译错误。解决办法:
    给其中的一个包或所有的包起一个别名:

    import(
            "github.com/Sirupsen/logrus"
            mylogrus "gopcp.v2/helper/log/logrus"
    )
    

    3、引入包,但只想初始化它,不需要调用它

    import(
            _  "github.com/Sirupsen/logrus"
    )
    

    以上的效果是,只调用这个包的初始化函数,但不会在当前源代码文件中调用这个包里的函数。
    4、冗余包导入
    如果有多余的包导入的时候,代码中又没有调用这个包里的函数,编译的时候会出错,需要把冗余的包去掉。

    ---------------初始化函数相关:

    go中的每个包都可以有初始化函数,形式如下(函数名只能是init,无参数,无返回):

    func init(){
            fmt.Println("初始化中")
    }
    

    go程序的所有模块的初始化函数会在程序的main函数之前被调用,所有模块的全局变量会在初始化函数前被赋初值。


    go的数据类型:
    bool型,数字类型,字符串类型(UTF-8编码的Unicode),派生类型(指针,数组,结构化,Channel,函数,切片,接口,Map)。
    其中数字类型可以分为:
    int(8,16,32,64位宽)
    float(32位和64位)
    复数【64位(32位的实数和虚数)和128位(64位的实数和虚数)】
    其它数据类型:
    byte,rune,uint,uintptr

    :=赋值操作符只能在函数内部使用,全局变量不能这样声明和赋值。

    声明一个局部变量后如果没有使用它,那会得到编译错误,全局变量可以只声明不使用

    相关文章

      网友评论

          本文标题:go学习第二天

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