GO语言多级目录包

有个学生管理系统

假设GPATH目录是

D:\Project\go\

有两个应用包 D:\Project\go\src\student\profile.go 学生属性

package student
func Say() string{
	return "I am student profile"
}

D:\Project\go\src\teacher\profile.go 教师属性

package teacher
func Say() string {
	return "I am teacher profile"
}

学生管理系统应用程序入口包是
D:\Project\go\src\manage\main.go

package main
import (
	"fmt"
	"lib/student"
	"lib/teacher"
)
func main(){
	fmt.Println("Hello student manage system")
	fmt.Println(student.Say())
	fmt.Println(teacher.Say())
}

Say 方法必须是开头字母大写,应为go规定开头字母大写才是public属性 可以外部调用

   D:\Project\go\src\manage\ 目录下执行 go run ./main.go
    D:\Project\go\src\manage> go run .\main.go
    Hello student manage system
    I am student profile
    I am teacher profile
    PS D:\Project\go\src\manage>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 CMake 中,可以使用 `add_subdirectory()` 命令来将子目录添加到 CMake 构建中。一般情况下,我们会将每一个子目录作为一个模块,每个模块都有自己的 CMakeLists.txt 文件。 在 CMakeLists.txt 文件中,我们可以使用 `include_directories()` 命令指定头文件目录,`add_executable()` 命令来添加可执行文件,`add_library()` 命令来添加静态库或动态库等。 例如,我们有一个项目结构如下: ``` project ├── CMakeLists.txt ├── src │ ├── CMakeLists.txt │ ├── main.cpp │ ├── foo.cpp │ └── foo.h └── lib ├── CMakeLists.txt ├── bar.cpp └── bar.h ``` 在项目的根目录下的 CMakeLists.txt 文件中,我们可以使用 `add_subdirectory()` 命令来添加子目录: ``` cmake_minimum_required(VERSION 3.10) project(my_project) add_subdirectory(src) add_subdirectory(lib) ``` 在 src 目录下的 CMakeLists.txt 文件中,我们可以使用 `include_directories()` 命令指定头文件目录,`add_executable()` 命令来添加可执行文件: ``` include_directories(${PROJECT_SOURCE_DIR}/lib) add_executable(my_app main.cpp foo.cpp) ``` 在 lib 目录下的 CMakeLists.txt 文件中,我们可以使用 `add_library()` 命令来添加静态库或动态库: ``` add_library(my_lib STATIC bar.cpp) target_include_directories(my_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) ``` 在这个例子中,我们使用了 `target_include_directories()` 命令将当前目录添加到 my_lib 库的头文件搜索路径中。 总的来说,CMake 支持多级目录下文件的含,只需要在每一个模块的 CMakeLists.txt 文件中正确设置头文件和源文件路径即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值