把目光转向GO语言吧!Go语言结构+目录+源码(附GO语言学习教程)

1 目录和源码

首先我门看目录和源码,从之前的Go 语言教程我们知道,Go语言有工程目录,和GOPATH环境变量对应,工程目录结构有

  • bin 存放编译后的可执行文件
  • src 存放实现源码,go get工具获取的web上的模块包都会放到这个目录下,并有对应的目录结构
  • pkg 存放编译后的库文件(分不同平台)
  • Go语言的源码文件格式为.go格式。如hello.go, main.go 。

2 包管理

区别于C/C++,Go语言有包的概念,关键字package。Go语言的包管理主要有两种类型的包:main包和正常的模块化的包,模块包。

  • main包,即是包含主函数入口main方法的包
  • 模块包,即是业务模块的划分为不同的业务后定义的包
  • 包的定义声明:
  • 都是统一的,在Go源码文件(.go文件)使用package进行声明,以下声明一个名字为package_name的包
  • 模块包声明
  • package package_name

main包声明

package main

包的引入和使用

import "package_name"

或者下面写法

import (
 "package_name"
)

3 包的代码结构

Go语言的结构,即main包和模块包的源文件代码结构,如下例子

模块包代码结构

// hello包定义和声明
package hello 
// 引入模块包
import(
 "fmt"
)
// 变量的定义
const helloworldString string = "Hello world, this is package hello"
// HelloWorld方法定义
func HelloWorld() {
 // 使用包fmt进行打印输出到终端
 fmt.Println(helloworldString)
}


main包代码结构

// 包定义声明
package main
// 引入包
import(
 "fmt"
 "hello"
)
// 程序入口方法
func main() {
 // 引入fmt包并使用
 fmt.Println("Helloworld,你好世界")
 
 // 使用自定义包
 hello.HelloWorld() 
}

Go 语言的代码结构主要包括以下方面:

  • 包的声明和定义
  • 包的引入和使用
  • 模块和方法的定义和使用
  • 程序的入口main方法的定义
  • 变量定义声明和使用
  • 语句
  • 表达式
  • 注释
  • 每个模块包的目录结构为:
  • $GOPATH/src/helloworld/hello.go
  • $GOPATH/src/helloworld/world.go
  • $GOPATH/src/helloworld/helloworld.go
  • ......
  • 每个包在目录结构中以目录树的方式进行划分,在包的引入时候需要带上从src往下的目录名字连成的目录结构串,如/github.com/log/xxxx。
import "github.com/log/xxx"

包目录下可以有多个源码文件(.go),但是要求所有文件的头部都是一致的包声明(package xxxx)。

整个项目要求只能有一个main包和main入口方法。

柠檬为大家准备了一些GO语言的学习教程分享,希望可以帮助到大家。

获取方式:请大家转发+关注并私信小编关键词:资料即可获取GO语言自学教程一套。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月29日

热门专题

大理科技管理学校|大理科技管理中等职业技术学校,大理市科技管理中等职业技术学校
大理科技管理学校
中源管业|中源管业,中源管业公司,中源管业有限公司,中源管业电话,中源管业地址,中源管业电力管,中源管业mpp电力管,中源管业cpvc电力管,中源管业pe穿线管
中源管业
昆明综合高中|昆明综合高中
昆明综合高中
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部