hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

【原创】go言语进修(十一)package简介

2019-11-18杂谈搜奇网64°c
A+ A-

目次

  • Go源码构造体式格局
  • main函数和main包
  • 编译敕令
  • 自定义包
  • init函数以及实行行递次
  • _标识符

Go源码构造体式格局

1、 Go经由过程package的体式格局来构造源码

package 包名

  注重:任何一个源码都属于一个包

  作用:代码复用和可读性

2、可执行顺序的包名必需为main,而且包括一个main函数

package main
import (
    "fmt"
)
func main() {
    fmt.Println(“hello world”)
}

  

 3、package构造案例例

再src/calc的包编辑完成后再pkg中

main函数和main包

 1、链接工程

package main  -- |            静态链接

            |----------------------> 可实行文件

pkg/windows_amd64/.../*.a ---|

自定义包

 1、除了可执行顺序以外,用户能够写自定义包,自定义包编译成静态库

package calc

// package calc2 不发起这么写

// 包构造体式格局,自定义包
// 运用go install生成静态库
// calc_test中挪用静态库

var (
	Sum int
)

func Add(a int, b int) int {
	return a + b
}

// 小写要领名为私有,不能挪用
func sub(a int, b int) int {
	return a - b
}

  

package main

import (
	"fmt"
	"github.com/gostudy/listen11/calc"
	// _ 没有援用保存包
	// _ "github.com/gostudy/listen11/calc"
)

// 挪用pkg\windows_and64\githbu.com\gostudy\listen11\calc.a

// 实行全局变量,再实行init初始化
var a int = 10
var b int = 10

// init 函数,再main函数之前实行
func init() {

	fmt.Println(a, b)

	fmt.Println("init func in main")
}

// init函数能够多个,能够有多文件,多init,按编译递次实行
// 1初始化sub 包
// 2初始化add import
// 3初始化main
func init() {
	fmt.Println("init2 func in main")
}

func main() {
	var sum = calc.Add(2, 3)
	fmt.Printf("sum=%d\n", sum)
}

  注重:go_path 要设置好途径

编译敕令

1、go run运⾏行行go代码, 假如有多个⽂文件,需要把一切⽂文件都写到go run后⾯面

2、go build 编译go代码,假如是可执行顺序,默许会在当前⽬目次⽣生成可执行顺序,能够使⽤用-o指定可执行顺序生成的目次。

3、go install编译go代码,而且把可执行顺序拷贝到GOPATH的bin目次,自定义或第三方包会拷贝到GOPATH的pkg目次

init函数以及实行行递次

1、一个包里能够有0个或多个init函数,在顺序启动时会被自动挪用

package calc
import (
    "fmt"
)
// 先执⾏行行全局
// 变量量初始化
var a int=10

// 然后再执行
// init函数
func init() {
}

// 末了执行
// main函数
func Add(a, b int) int{
    return a+b
}

  

2、 假如一个包import别的一个包

 

_标识符

1、_ 没有援用保存包

package calc
import (
“fmt"
_ “sub”
)
func Add(a, b int) int{
return a+b
}

  

 

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【原创】go言语进修(十一)package简介

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282409.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>