golang怎么引入其它文件,像php的include一样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang怎么引入其它文件,像php的include一样相关的知识,希望对你有一定的参考价值。

golang怎么引入其它文件,像php一样
比如我目录结构如下
main.go
test.go
我想在main.go里面引入test.go,这个应该怎么写呢?
用import不行的啊

问题的关键在于GOPATH的设置,import是必须的,但是还有个条件就是要把自定义包的路径加入到GOPATH中。

可以使用go env查看一下设置。 do it ~~~,开始可能会混乱,多试几次就好了。
针对GO 的 2018年11月的最新版本。。。
参考技术A //包名
package main

//导入test包
import(
"test"
)

func main()
// 调用 test 内的 Println 方法
test.Println("Hello World! ');
本回答被提问者和网友采纳

Golang面向对象编程—工厂模式创建实例

工厂模式

说明

Golang的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。

引入

看一个需求:

package main
type Student struce
  Name string
  ...

因为这里的Student的首字母S是大写的,如果我们想在其它包创建Student的实例,我们只要引入包,直接创建Student结构体的变量(实例)。但是问题来了,如果首字母是小写,该怎么办?->工厂模式来解决。

工厂模式跨包创建实例

student.go

package model

type student struct
	Name string
	Age int


func NewStudent(name string,age int) *student
	return &student
		Name : name,
		Age : age,
	

test.go

package main

import(
	"fmt"
	"go_code/OOP/model"
)

func main() 
	 
	stu := model.NewStudent("Casey",18)
	fmt.Println(*stu)

如果将student的结构体字段Name改成name,我们又能正常访问吗?
解决方法(类似java中的getter,setter)
student.go

package model

type student struct
	name string
	Age int


func NewStudent(name string,age int) *student
	return &student
		name : name,
		Age : age,
	


func (this *student) GetName()string
	return this.name

test.go

package main

import(
	"fmt"
	"go_code/OOP/model"
)

func main() 
	 
	stu := model.NewStudent("Casey",18)
	fmt.Println(stu.GetName())

博主首页链接:https://blog.csdn.net/weixin_44736475
原创不易,希望大家多多支持
如果文章对你有帮助,记得一键三连哦!❤️❤️❤️

以上是关于golang怎么引入其它文件,像php的include一样的主要内容,如果未能解决你的问题,请参考以下文章

Golang面向对象编程—工厂模式创建实例

PHP获取音频mp3文件时长或音频文件其它参数属性

golang命令行库Cobra的使用

Golang依赖包的各项指标分析总结

golang 多人开发怎么保证源码安全

golang 的数据库操作感觉不怎么好,哎,PHP 直接 mysql