golang我在println()之后使用fmt.Println()但是

时间:2016-03-11 02:28:44

标签: go

这是我的代码(golang)

"""
Usage: calcstats (--analyses <STAT>,...) ... <file> ...

Options:
    <file>                    One or more input filenames
    -a,--analyses <STAT> ...  One or more stat names to compute

"""

import docopt
import time

_Sequence = 0
_Results = {}

def compute_stat(name):
    global _Sequence, _Results

    print("Performing analysis: {}".format(name))
    time.sleep(1)
    _Sequence += 1
    _Results[name] = _Sequence

def display_results(groups):
    global _Results

    groupnum = 1
    for grp in groups:
        print("*** Group {}:".format(groupnum))
        for stat in grp:
            print("\t{}: {}".format(stat, _Results[stat]))
        print("\n")

def parse_args():
    args = docopt.docopt(__doc__)
    args['--analyses'] = [stat.split(',') for stat in args['--analyses']]

    stat_set = set()
    stat_set.update(*args['--analyses'])
    args['STATS.unique'] = stat_set

    return args

def perform_analyses(stat_set):
    for stat in stat_set:
        compute_stat(stat)

if __name__ == '__main__':
    args = parse_args()
    perform_analyses(args['STATS.unique'])
    display_results(args['--analyses'])

这是结果

func main() {
    names := []string{"1", "2", "3"}

    for index, name := range names {
        println(index, name)
    }

    myMap := map[string]string{
        "A": "Apple",
        "B": "Banana",
        "C": "Charlie",
    }

    for key, val := range myMap {
        fmt.Println(key, val)
    }
}
  1. 为什么名称和myMap混合在一起?
  2. 为什么myMap的顺序不同?

1 个答案:

答案 0 :(得分:8)

  

func println

func println(args ...Type)
     

println内置函数将其参数格式化为   特定于实现的方式并将结果写入标准错误。

     

func Println

func Println(a ...interface{}) (n int, err error)
     

fmt.Println使用其操作数和默认格式进行格式化   写入标准输出。

fmt.Println写入标准输出(stdout),println写入标准错误(stderr),两个不同的,未同步的文件。

  

Map types

     

地图是一种无序的一组元素,称为   元素类型,由一组另一种类型的唯一键索引,称为   关键类型。

     

For statements

     

A&#34; for&#34; statement指定重复执行块。

     

未指定地图上的迭代顺序,并且无法保证   从一次迭代到下一次迭代都是一样的。

地图元素是无序的。未指定迭代顺序。