zoukankan      html  css  js  c++  java
  • go 语言代码包(package)

    • 代码包

      • 在 Go 中,代码包是代码编译和安装的基本单位,也是非常直观的代码组织形式。

      • 1、包声明

        • package "base"
          
      • 2、包导入

        import (
        	mylog "github.com/helper/log"
        )
        mylog 就是导入包的别名
        
        • Go 语言中的变量、常量、函数和类型声明可统称为程序实体,而他们的名称统称为表示符
        var logger = NewLogger("gopcp")
        logger 是标识符
        NewLogger("gopcp") 是程序实体
        
        • 标识符的大小写控制对应程序的访问权限
      • 3、包初始化

        • 有专门的函数负责代码包初始化,这个函数就是无任何参数和结果声明的 init函数。

        • func init() {
          	fmt.Println("initialize...")
          }
          
        • Go 会在程序真正执行前对整个程序的依赖进行分析,并初始化相关的代码包。

        • 当前代码包中所有全局变量的初始化会在代码包初始化函数执行前完成。

    • Go 的标准命令

      • go build

      • go run

      • 有两个工具对go程序的调优非常有用
        • pprof
          • 用于以交互的方式访问一些性能概要文件。
            • 命令将会分析给定的概要文件,并根据要求提供高可读性的输出信息。这个工具可以分析的概要文件包括 CPU 概要文件、内存概要文件和程序阻塞概要文件。这些包含 Go 程序运行信息的概要文件,可以通过标准代码包 runtime和runtime/pprof 中的程序来生成
        • trace
          • 用于读取Go 程序踪迹文件,并以图形化的方式展现出来。它能够让我们深入了解 Go 程序在运行过程中的内部情况,比如,当前进程中堆的大小及使用情况。又比如,程序中的多个 goroutine 是怎样被调度的,以及他们在某个时刻被调度的原因。Go 程序踪迹文件可以通过标准代码包 runtime/trace 和 net/http/pprof 中的程序来生成。
  • 相关阅读:
    Sphinx安装流程及配合PHP使用经验
    使用HTML5视频事件示例
    Centos6.5下编译安装mysql 5.6
    AES加密
    ab参数详解 – 压力测试
    vim 常用快捷键
    telnet操作memcache
    如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作
    array_map 巧替 foreach
    mac brew安装mysql
  • 原文地址:https://www.cnblogs.com/jcjc/p/12458535.html
Copyright © 2011-2022 走看看