加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang导包

发布时间:2020-12-16 18:13:58 所属栏目:大数据 来源:网络整理
导读:被坑的体无完肤,特此纪念, 不是新手不要看 包结构如图 接下来我们要在main.Go中调用myprint2.go中的方法 myprint2.go [plain] view plain copy print ? packagetest import"fmt" funcMyPrint2(){ fmt.Println("这条信息来自myprint2") } myprint.go copy fu

被坑的体无完肤,特此纪念,不是新手不要看

包结构如图

接下来我们要在main.Go中调用myprint2.go中的方法

myprint2.go

[plain] view plain copy
print ?
  1. packagetest
  2. import"fmt"
  3. funcMyPrint2(){
  4. fmt.Println("这条信息来自myprint2")
  5. }

myprint.go

copy
funcMyPrint(){
  • fmt.Println("这条信息来自myprint")
  • }
  • main.go

    copy
    packagemain
  • import(
  • "try2/test"
  • )
  • funcmain(){
  • test.MyPrint2()
  • }

  • 输出结果

    copy
    C:/Go/bin/go.exebuild-i[E:/goworkspace/src/try2]
  • 成功:进程退出代码0.
  • E:/goworkspace/src/try2/try2.exe[E:/goworkspace/src/try2]
  • 这条信息来自myprint2
  • 成功:进程退出代码0.

  • 接下来我们来说说这里的坑:

    1 package是包,真的是包,是特么文件夹啊,物理文件夹啊,卧槽啊,坑爹啊,我第一次写的时候myprint.go跟myprint2.go的package不一样(别问为啥,我也不知道咋想的,为了不误导大家,就不写出来了),结果main.go调用的时候,各种报错;

    2 当import的时候,导入的也是包,这个"包"跟上面的包含义一样,但是跟Java中的包含义不太一样,如果你不知道前面这句啥意思,千万不要去搜索,越不想记的东西越不容易忘;

    3 调用的时候,使用包名.方法名来调用,但是,但是,我没有试结构体,为啥没试,我懒。如果谁看到这里自己去试了,请告诉我。如果谁看到这里自己没试还想知道,那找完答案也记得告诉我。


    1 相对路径

    import ".model" //<--是与当前文件同一目录的model目录,但是不建议使用这种方式来导包

    2 绝对路径

    import "shortcut/model" //<--加载gopath/src/shortulr/model模块

    点操作
    我们有时候会看到如下的方式导入包

    import(. " fmt")

    个点操作的含义就是这个包导入之后在你调用这个包的函数时, 你可以省略前缀的包名, 也就是前面你调用的fmt. Println("hello world") 可以省略的写成Println("hello world"),无闻的视频上建议不要使用这样的方式,可读性太差

    别名操作
    别名操作顾名思义我们可以把包命名成另一个我们用起来容易记忆的名字
    import(f " fmt")
    名操作的话调用包函数时前缀变成了 我们的前缀, 即f. Println("hello world"),个人不喜欢这种方式,好好的系统包调用名字你给改了,其他人读代码多不爽
    _操作
    import (
    " database/ sql"
    _ " github. com/ z iutek/ mymysql/ godrv"//<----很重要 感谢天感谢地可算知道这破玩意是啥意思了
    )
    _操作其实是引入该包, 而不直接使用包里面的函数, 而是调用了该包里面的init函数

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读