zoukankan      html  css  js  c++  java
  • go入门8 --- 包

    go中所有的代码都必须放在package中,对于package

    • 源文件头部以 "package <name>" 声明包名称。
    • 包由同一目录下的多个源码文件组成。
    • 包名类似 namespace,与包所在目录名、编译文件名无关。
    • 目录名最好不用 main、all、std 这三个保留名称;
    • 可执行件必须包含 package main,入口函数 main;

    包中成员以名称的首字母是否大写来决定访问权限

    • 首字母大写,可被包外访问;
    • 首字母小写,近包内成员可以访问。

     使用包之前,必须先用import关键字导入,注意不要形成倒入循环,也就是两个包相互导,前段时间,就遇到了这个错误

    跟python类似,也可以给导入的包起别名,也可以全部导入,另外,go中如果导入的包没有使用,会报错,如果必须要到,可以使用_进行忽略,例如

    import _ "os"

    这个就会执行包内的初始化函数

    对于初始化函数,每个源文件都可以定义一个或多个初始化函数,编译器不能保证初始化函数执行次序,初始化函数在单一线程中只会执行一次,并且是在包的全部全局变量执行之后,main.main才会被执行,初始化函数是无法调用的

    func main() {
        fmt.Println("main")
    }
    func init(){
        fmt.Println("init")
    }
    //
    init
    main

    至此,go的入门算是写完啦

  • 相关阅读:
    RocketMQ 概念
    CentOS7使用firewalld管理防火墙
    java应用启动报错Unable to access jarfile xxxxx.jar
    docker启动redis并设置密码
    sql优化整理(二)
    sql优化整理(一)
    dubbo配置的覆盖关系
    dubbo配置加载优先级
    ZooKeeper的数据模型
    leetcode104:permutations
  • 原文地址:https://www.cnblogs.com/yangshixiong/p/12146295.html
Copyright © 2011-2022 走看看