为什么地图打印混乱,如何使它秩序井然?
package main
import (
"fmt"
)
type monthsType struct {
no int
text string
}
var months = map[int]string{
1:"January", 2:"Fabruary", 3:"March", 4:"April", 5:"May", 6:"June",
7:"July", 8:"August", 9:"September", 10:"October", 11:"Novenber", 12:"December",
}
func main(){
for no, month := range months {
fmt.Print(no)
fmt.Println("-" + month)
}
}
打印输出:
10-October
7-July
1-January
9-September
4-April
5-May
2-Fabruary
12-December
11-Novenber
6-June
8-August
3-March
码:
func DemoSortMap() (int, error) {
fmt.Println("use an array to access items by number:")
am := [2]string{"jan", "feb"}
for i, n := range am {
fmt.Printf("%2d: %s\n", i, n)
}
fmt.Println("maps are non-sorted:")
mm := map[int]string{2: "feb", 1: "jan"}
for i, n := range mm {
fmt.Printf("%2d: %s\n", i, n)
}
fmt.Println("access items via sorted list of keys::")
si := make([]int, 0, len(mm))
for i := range mm {
si = append(si, i)
}
sort.Ints(si)
for _, i := range si {
fmt.Printf("%2d: %s\n", i, mm[i])
}
return 0, nil
}
(其中大部分是从萨默菲尔德先生的书中偷走的)
输出:
use an array to access items by number:
0: jan
1: feb
maps are non-sorted:
2: feb
1: jan
access items via sorted list of keys::
1: jan
2: feb
问题内容: 我正在尝试打印地图的类型,例如:map [int] string 所以如果我这样做: 我想得到 但我找不到正确的电话。 问题答案: 尽量不要使用。但是,如果您必须使用: 甲值具有函数,该函数返回一个值。 如果该类型为,则这是某些类型T1和T2 的type值,其中T1是键类型,T2是元素类型。 因此,在使用时,我们可以像这样将片段分开: 在Go Playground上查看更完整的示例 。
我正在寻找一种漂亮的方法来打印地图。 <代码>贴图。toString()给我:
问题内容: 我正在寻找一种漂亮地打印的好方法。 给我: 我希望地图输入值具有更大的自由度,并且正在寻找更多类似这样的东西: 我写了这段代码: 但是我敢肯定,有一种更优雅,更简洁的方法可以做到这一点。 问题答案: 或将您的逻辑放在一个整洁的小班上。 用法: 注意:您也可以将该逻辑放入实用程序方法中。
问题内容: 我对gdb无法正确打印变量有疑问。通过以下方式构建简单程序: 然后执行gdb: 这是我下一步要做的: 您可以看到在检查’p’变量时存在Python异常,而在显示’i’值时完全没有3。怎么了 ? 这是我去的版本 和gdb配置 问题答案: 添加到@AlexAtNet的答案中,Go 1.2.x之后的所有内容都中断了GDB支持,因此请使用go 1.2.x进行调试或使用gccgo(请记住,gcc
问题内容: 我很好奇为什么只在var上打印内存地址就可以直接使用,但是尝试通过接口执行相同的操作却不能打印出内存地址? https://play.golang.org/p/Ko8sEVfehv 只是想在修复错误后添加它,它现在可以正常运行。测试移位内存指针 https://play.golang.org/p/BnB14-yX8B 问题答案: 因为在方法第二种情况下: 不是一个而是一个结构,是类型的
我正在解组一个结构,我希望它以格式化的方式打印它。 我的代码(https://play.golang.org/p/D0KwGP6Cxa0)当前生成以下输出: 我希望它只有名称和值,并在每个项目后有一个新行。例如: 你知道我该怎么做吗?