Skip to content

0815import的那些事

ziyouzy edited this page Aug 15, 2020 · 1 revision

1.关于路径的具体写法:如果设立了一个文件夹,如yunhuan2020/mylib/process/test,当需要在别的目录引用时,则需要只关注test这个根目录的位值即可,如:

import (
"yunhuan2020/mylib/process/importtest"//已实际验证过,可行,正确
)

2.如果引用位值和被引用位值前者是后者的上集目录,规则同样如此

package testview

import (
"yunhuan2020/mylib/process/importtest"
"yunhuan2020/socketserver/testview/tesviewlv2"
)
已验证可行,同时,tesiewlv2文件夹下的文件名为testviewtwo.go且第一个行为package tesviewlv2

总之不用考虑文件夹所在的位置,用go.mod所在位置进行路径书写即可

------

2.关于全局变量:

变量的标准定义:s string ="变量"---->这个整体称之为变量;s为变量名,"变量"为变量值,string为变量类型

如下例子在此举例:

package testview

import (
"yunhuan2020/mylib/process/importtest"
"yunhuan2020/socketserver/testview/tesviewlv2"
)

var TestView testView
type testView struct{

}

func (this *testView)TestViewPrint(){
importtest.Testfmt()
tesviewlv2.TestVLV2("123")
}

var TestView testView--- TestView为变量名,testView为变量类型,没有设定变量值,T大写说明为全局变量

type testView struct{}-----testView为变量名,struct{}为变量类型(golang标准的结构体),t小写说明为局部变量

可把TestView与testView都称为变量,testView又可以说是一个model,TestView可以说是这个model的实体,但是他们都是变量,所以在其他包引用时,会遵循大小写规则

而对于yunhuan2020/socketserver/testview/tesviewlv2. TestVLV2()函数,golang中函数也是一种数据类型,所以也可以遵循大小写规则

====

补充函数的知识点:

函数也是一种类型,函数可以赋值给变量:
func red(){
    fmt(xxx)
}
func main(){
    var redfunc func()
    redfunc =red
    redfunc()
}
Clone this wiki locally