This is an explanation of the video content.
 用技术延续对ACG的热爱
93

 |   | 

Go_03 程序包的概念

包的概念

  1. 和python一样,把相同功能的代码放到一个目录,称之为包
  2. 包可以被其他包引用
  3. main包是用来生成可执行文件,每个程序只有一个main包
  4. 包的主要用途是提高代码的可复用性+

包的实战(注意看我图片里面显示的文件路径)

  1. 在src目录下新建demo目录
  2. 在calc目录下新建add.go

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

3.主文件demo1.go中写:

package main
import(
	"demo"
	"fmt"
)

func main(){
	sum :=calc.Add(100,100)
	fmt.Print(sum)
}

1578739007519

Go的管道高并发特性

add.go中写:

package calc

func Add(a int,b int,c chan int) {
	sum := a+b
	c<-sum
}

emo1.go中写:

package main
import(
	"demo"
	"fmt"
)

func main(){
	var pipe chan int
	pipe = make(chan int , 1)
	go calc.Add(100,300,pipe)

	sum:= <- pipe
	fmt.Println("sum=",sum)
}

1578759173644

init函数

每个源文件都可以包含一个init函数,这个Init函数自动被go运行框架调用。开发一个演示这个功能

package main
import(
	_ "add"
)

func init(){
    fmt.Println("initialized")
}

在main前执行了1578765883391

1578765908411


包只初始化,不引用:

package main
import (
    _ "add"
    "fmt"
)

func main(){
    fmt.Println("add not refer")
}


93 服务端 ↦ Go从0到1手把手教程 __ 127 字
 Go从0到1手把手教程 #4