首页 > 其他分享 >go语言之map取值

go语言之map取值

时间:2024-07-02 13:52:49浏览次数:1  
标签:map key r2 value exisit go 返回值 取值 r1

package main

import (
    "fmt"
)

func main() {
    //定义一个map
    temp_dict := make(map[string]string)
    temp_dict["A"] = "A__value"

    //1获取某一个key的值
    //1.1 两个返回值
    r1_value, r1_exisit := temp_dict["A"]
    fmt.Printf("A 存在  r1_value = %s, r1_exisit = %t\n", r1_value, r1_exisit)
    r2_value, r2_exisit := temp_dict["E"]
    fmt.Printf("E 不存在  r2_value = %s, r2_exisit = %t\n", r2_value, r2_exisit)
    /*
            A 存在    r1_value = A__value,  r1_exisit = true
            E 不存在  r2_value = ,          r2_exisit = false
            总结,两只返回值接收的时候,第一个返回值=value   第二个返回值=是否存在
    */

    //1.2 一个返回值
    r3_value := temp_dict["A"]
    fmt.Printf("A 存在 返回值r3_value: %s\n", r3_value)
    r4_value := temp_dict["E"]
    fmt.Printf("E 存在 返回值r4_value: %s\n", r4_value)
    /*
        A  存在     r3_value = A__value
        E  不存在    r4_value = ''
        总结:一个返回值接收的时候,返回值=值
    */

    // WARNING,看下面的例子
    warn_arr := make(map[string]bool)
    warn_arr["A"] = true
    warn_arr["B"] = false

    // 你如果判断value,则取值value 则使用  返回一值
    // 你如果相判断key是否存在,则使用  返回两值

    for _, key := range [3]string{"A", "B", "C"} {
        r5_value, r5_exisit := warn_arr[key]
        r6_value := warn_arr[key]
        fmt.Printf("两种返回值  %s存在=%t %s值=%t\n", key, r5_exisit, key, r5_value)
        fmt.Printf("一种返回值  %s值=%t\n", key, r6_value)
    }
    /*
        两种返回值  A存在=true A值=true
        一种返回值  A值=true
        两种返回值  B存在=true B值=false
        一种返回值  B值=false
        两种返回值  C存在=false C值=false
        一种返回值  C值=false
        总结:如果不存在直接取值,则返回是值类型的特殊值  False '' 0
    */

}

 

标签:map,key,r2,value,exisit,go,返回值,取值,r1
From: https://www.cnblogs.com/wusenwusen/p/18279743

相关文章

  • Nginx(openresty) X-Forwarded-For $proxy_add_x_forwarded_for 多层代理 通过map分割
    1nginx配置#配置多层反向代理,配置如下proxy_passhttp://ip或者域名/;proxy_connect_timeout60;proxy_send_timeout60;proxy_read_timeout60;proxy_set_headerUpgrade$h......
  • .js.map文件泄露/Springboot信息泄露
    目录框架识别Webpack简述.js.map文件泄露利用Springboot 很多网站都使用的是现有的框架进行开发的,因此相当于很多目录和文件的路径都是开源可知的,因此我们就可以直接访问对应的路径,如果网站没有进行限制就有可能会导致敏感信息泄露框架识别可以根据页面的报错信息......
  • go中实现日志级别与切割,日志配置热生效,pprof的技术解析
    引言在线上分布式系统和微服务架构中,日志记录是排查问题、调试程序和监控服务运行状态的重要手段。合理设置日志级别,可以帮助开发和运维人员有效地获取所需信息。然而,在实际运行中,常常需要在不重启服务的情况下动态调整日志级别,以适应不同的调试需求和运行环境。本文基于g......
  • 图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
    KolmogorovArnoldNetworks(KAN)最近作为MLP的替代而流行起来,KANs使用Kolmogorov-Arnold表示定理的属性,该定理允许神经网络的激活函数在边缘上执行,这使得激活函数“可学习”并改进它们。目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验......
  • 云原生周刊:Argo Rollouts 支持 Kubernetes Gateway API 1.0 | 2024.7.1
    开源项目KubetoolsRecommenderSystemKubetoolsRecommenderSystem(Krs)是一个基于GenAI的工具,用于帮助管理和优化Kubernetes集群。buoybuoy是Kubernetes的声明式TUI仪表板。你可以在JSON文件中定义仪表板,它将从Kubernetes集群中获取信息并构建仪表板,以便在......
  • Godot游戏学习笔记(二)
    Godot学习笔记(二)前言今天这部分是想做一个基本的背包系统,既可以存放基本的物品。一、个人思路我认为的背包系统中主要有三项基本的物品、用于存放物品的单位和背包页面这三个部分,其中第二个部分用于存放物品的单位可以不用单独构建,但是构建了会更方便管理,所以我加上了第......
  • 最新扣子(Coze)实战案例:图像流工具之创建一个精美的LOGO,完全免费教程
    ......
  • day33-Django3.2(二)
    四、视图django的视图主要有2种,分别是函数视图和类视图.现在刚开始学习django,我们先学习函数视图(FBV),后面再学习类视图[CBV].4.1、请求方式web项目运行在http协议下,默认肯定也支持用户通过不同的http请求发送数据来。django支持让客户端只能通过指定的Http请求来访问到项......
  • day13 Goroutine 协程
    了解计算机原理进程:计算机资源分配单位线程:cpu处理单位协程:以特殊机制或者函数实现高并发,又称轻量级线程了解GoroutineGoGoroutine,go语言中的协程,实现并发。关键字go初始大小4k,随着程序执行自动增长和删除实现多线程并发执行packagemainimport"fmt"fu......
  • 免费在线数据可视化(PCA、t-SNE和UMAP)工具
    这是一款免费的数据可视化网页程序,上传数据即可进行可视化操作。可自定义数据类别属性(颜色、形状和尺寸),数据预处理操作,选择可视化方法(PCA、t-SNE和UMAP)即可进行可视化绘图,生成的图件能满足文章发表的格式,可保存为矢量化PDF,放入到Coreldraw、Ai等软件进行二次美化。URL:https://......