小爱给大家谈谈golang import 相对路径,以及golang运行时配置文件目录应用的知识点,希望对你所遇到的问题有所帮助。

golang import 相对路径 golang运行时配置文件目录golang import 相对路径 golang运行时配置文件目录


golang import 相对路径 golang运行时配置文件目录


1、ret,ew := cli.Write(buf)按照你的定义,sl是切片,而p是指针。

2、切片是一个结构体头部+数组区域,其头部结构定义如下:struct Sl{ // must not move anythingbyte array; // actual datauintgo len; // number of elementsuintgo cap; // allocated number of elements};因此,sl的返回其实是头部值返回,函数内外的地址是不同的,这也导致主程序中,ss与pp不同。

3、因为ss是新分配的,pp则是与子程序testIntece中的&sl相同。

4、简单修改你的代码,通过输出对比,会非常清晰:"fmt")func testIntece() (sl intece{}, p intece{}) {sl = make([]int, 10)p = &slfmt.Println("debug:testIntece")fmt.Println(&sl)//两个地址'/webroot/go/src/test/test',应该相同fmt.Println(p) //两个地址应该相同return sl, p}func main() {fmt.Println("debug:main")ss, pp := testIntece()fmt.Println(&ss)fmt.Println(pp) //应该与子程序的输出一致}另外,个问题就不用多解释,依然是值和指针不同了。

本文到这结束,希望上面文章对大家有所帮助。