为了账号安全,请及时绑定邮箱和手机立即绑定

获取“STRING”变量的 INT 值

获取“STRING”变量的 INT 值

Go
紫衣仙女 2023-06-26 16:32:44
我需要像这样的输出0 - os.O_APPEND     - 10241 - os.O_CREATE     - 642 - os.O_EXCL       - 1283 - os.O_RDONLY     - 04 - os.O_RDWR       - 25 - os.O_SYNC       - 10526726 - os.O_TRUNC      - 5127 - os.O_WRONLY     - 1我能做到一半func main() {        a := []int{os.O_APPEND,os.O_CREATE,os.O_EXCL,os.O_RDONLY,os.O_RDWR,os.O_SYNC,os.O_TRUNC,os.O_WRONLY}        for index, value := range a {                fmt.Printf("%d -  - %d\n", index, value)        }}这给了我输出0 -  - 10241 -  - 642 -  - 1283 -  - 04 -  - 25 -  - 10526726 -  - 5127 -  - 1和它的另一半func main() {        a := []string{"os.O_APPEND","os.O_CREATE","os.O_EXCL","os.O_RDONLY","os.O_RDWR","os.O_SYNC","os.O_TRUNC","os.O_WRONLY"}        for index, value := range a {                fmt.Printf("%d - %-15s -\n", index, value)        }}这给了我输出0 - os.O_APPEND     -1 - os.O_CREATE     -2 - os.O_EXCL       -3 - os.O_RDONLY     -4 - os.O_RDWR       -5 - os.O_SYNC       -6 - os.O_TRUNC      -7 - os.O_WRONLY     -我怎样才能得到想要的输出?
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

你可以使用地图。


func main() {

    var m map[string]int

    m = make(map[string]int)

    b := []int{os.O_APPEND,os.O_CREATE,os.O_EXCL,os.O_RDONLY,os.O_RDWR,os.O_SYNC,os.O_TRUNC,os.O_WRONLY}

    a := []string{"os.O_APPEND","os.O_CREATE","os.O_EXCL","os.O_RDONLY","os.O_RDWR","os.O_SYNC","os.O_TRUNC","os.O_WRONLY"}

    for index, value := range a {

        m[value] = b[index]

    }

    var i =0

    for index,mapValue := range m{

        fmt.Println(i," - ",index,"-",mapValue )

        i++

    }

}

输出将是:


0  -  os.O_RDWR - 2

1  -  os.O_SYNC - 1052672

2  -  os.O_TRUNC - 512

3  -  os.O_WRONLY - 1

4  -  os.O_APPEND - 1024

5  -  os.O_CREATE - 64

6  -  os.O_EXCL - 128

7  -  os.O_RDONLY - 0

或者你可以定义自定义结构


type CustomClass struct {

    StringValue string

    IntValue int

}

func main() {


    CustomArray:=[]CustomClass{

        {"os.O_APPEND",os.O_APPEND},

        {"os.O_CREATE",os.O_CREATE},

        {"os.O_EXCL",os.O_EXCL},

        {"os.O_RDONLY",os.O_RDONLY},

        {"os.O_RDWR",os.O_RDWR},

        {"os.O_SYNC",os.O_SYNC},

        {"os.O_TRUNC",os.O_TRUNC},

        {"os.O_WRONLY",os.O_WRONLY},

    }

    for k, v := range CustomArray {

        fmt.Println(k," - ", v.StringValue," - ", v.IntValue)

    }

}


查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信