我正在做go教程,我对此练习有疑问...... https://tour.golang.org/moretypes/5
之前我只是简单地处理过基本C代码中的指针和地址。我的理解是,p = &Vertex{1, 2} // has type *Vertex
行将新变量p
指向Vertex
的地址。
这不会重新定义struct
的定义以设置X, Y int = 1, 2
以下是教程中的完整代码:
package main
import "fmt"
type Vertex struct {
X, Y int
}
var (
v1 = Vertex{1, 2} // has type Vertex
v2 = Vertex{X: 1} // Y:0 is implicit
v3 = Vertex{} // X:0 and Y:0
p = &Vertex{1, 2} // has type *Vertex
)
func main() {
fmt.Println(v1, p, v2, v3)
}
答案 0 :(得分:1)
var p = &Vertex{1, 2}
执行以下操作:
Vertex
的匿名变量,值为1
x
和y
p
*Vertex
的变量Vertex
(指针
到p
)// File paths.
const string inFile = "in.txt";
const string outFile = "out.txt";
// Read file.
var inContents = File.ReadAllText(inFile);
// Organize contents.
var contentsArray = inContents.Replace(Environment.NewLine, ",")
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
// Sort contents.
var sortedContents = contentsArray.OrderBy(c => c);
// Write file.
File.WriteAllText(outFile, string.Join(",", sortedContents));
设置为指向匿名变量。它不会影响类型的定义。