zoukankan      html  css  js  c++  java
  • Go语言- import 导入包的语法

    一 包的导入语法

      在go语言中一个包(文件夹)中可以包含多个 go 文件,每一个文件通过文件第一行的 package 来指明自己所在的包,原则上应该与自己所在的文件夹同名,但也可以指定为其他名称,但同一个文件夹下所有的 go文件应该指定相同的包名,不然报错,当我们在另一个够文件通过 import 来引入包时,默认引入了此文件夹下的所有够文件.详情如下:


         在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下:

     import(
             "fmt"
     )

     然后在代码里面可以通过如下的方式调用

    fmt.Println("hello world")   

          上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:
          相对路径     import   "./model"        //当前文件同一目录的model目录,但是不建议这种方式import
          绝对路径     import   "shorturl/model"      //加载GOPATH/src/shorturl/model模块

         上面展示了一些import常用的几种方式,但是还有一些特殊的import,让很多新手很费解,下面是三种导入包的使用方法。

          1. 点操作   有时候会看到如下的方式导入包     import( . “fmt” ) 
        这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的fmt.Println(“hello world”)  可以省略的写成Println(“hello world”)
          2. 别名操作   别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字
               import( f “fmt” )   别名操作调用包函数时前缀变成了重命名的前缀,即f.Println(“hello world”)
          3.  _操作   这个操作经常是让很多人费解的一个操作符,请看下面这个import
              import ( “database/sql” _ “github.com/ziutek/mymysql/godrv” ) 

            _操作其实只是引入该包。当导入一个包时,它所有的init()函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的init()函数被执行而已。这个时候就可以使用_操作引用该包了。即使用_操作引用包是无法通过包名来调用包中的导出函数,而是只是为了简单的调用其init函数()。

    原文链接:https://blog.csdn.net/zhangzhebjut/article/details/25564457

  • 相关阅读:
    (原创)SOPC中SDRAM controller 的Timing配置
    (原创)电子专业词汇集
    verilog的$dumpfile和$dumpvar系统任务详解
    一定要确保自己代码的正确性
    记录一些 Latex 的技巧
    ASP.NET 2.0随机读取Access记录
    ASP.NET中使用javascript(2)
    ASP.NET中使用javascript(1)
    电信屏蔽eMule了吗
    Ajax.net里ModalPopupExtender控件和Dropdownlist的问题
  • 原文地址:https://www.cnblogs.com/sunweiye/p/11321725.html
Copyright © 2011-2022 走看看