OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
test
/
fixedbugs
/
issue20014.dir
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📁
a
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
main.go
1.02 KB
12/01/2022 06:13:01 PM
rw-r--r--
Editing: main.go
Close
// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "sort" "strings" "issue20014.dir/a" ) func main() { samePackage() crossPackage() // Print fields registered with field tracking. var fields []string for _, line := range strings.Split(fieldTrackInfo, "\n") { if line != "" { fields = append(fields, strings.Split(line, "\t")[0]) } } sort.Strings(fields) // for stable output, regardless of optimizations for _, field := range fields { println(field) } } type T struct { X int `go:"track"` Y int `go:"track"` Z int // untracked } func (t *T) GetX() int { return t.X } func (t *T) GetY() int { return t.Y } func (t *T) GetZ() int { return t.Z } func samePackage() { var t T println(t.GetX()) println(t.GetZ()) } func crossPackage() { var t a.T println(t.GetX()) println(t.GetZ()) } // This global variable is set by the linker using the -k option. var fieldTrackInfo string