Go 语言结构实例分析

时间:2022-11-26 17:43:07

当前的调试部分可以使用 go run filename.go 来执行。

可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可执文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env bash
 
CURRENT_DIR=`pwd`
OLD_GO_PATH="$GOPATH"  #例如: /usr/local/go
OLD_GO_BIN="$GOBIN"    #例如: /usr/local/go/bin
 
export GOPATH="$CURRENT_DIR"
export GOBIN="$CURRENT_DIR/bin"
 
#指定并整理当前的源码路径
gofmt -w src
 
go install test_hello
 
export GOPATH="$OLD_GO_PATH"
export GOBIN="$OLD_GO_BIN"

关于包,根据本地测试得出以下几点:

  • 文件名与包名没有直接关系,不一定要将文件名与包名定成同一个。
  • 文件夹名与包名没有直接关系,并非需要一致。
  • 同一个文件夹下的文件只能有一个包名,否则编译报错。

文件结构:

?
1
2
3
4
5
6
Test
--helloworld.go
 
myMath
--myMath1.go
--myMath2.go

测试代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// helloworld.go
package main
 
import (
"fmt"
"./myMath"
)
 
func main(){
    fmt.Println("Hello World!")
    fmt.Println(mathClass.Add(1,1))
    fmt.Println(mathClass.Sub(1,1))
}
// myMath1.go
package mathClass
func Add(x,y int) int {
    return x + y
}
// myMath2.go
package mathClass
func Sub(x,y int) int {
    return x - y
}

到此这篇关于Go 语言结构实例分析的文章就介绍到这了,更多相关Go 语言结构内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.runoob.com/go/go-program-structure.html