首页 > 其他分享 >golang执行语句操作与map结构体变量调用函数

golang执行语句操作与map结构体变量调用函数

时间:2024-06-12 22:43:34浏览次数:24  
标签:map int 调用函数 golang person value 执行

本文记录利用golang调用exe文件。
需要用到包os/exec,本文重点介绍如何利用golang执行带参数的可执行文件以及踩过的坑。首先c:=exec.Command(cmd)语句不会执行cmd命令,而是做好要执行的准备,当接下来调用c.Run()时才会执行cmd命令,注意到此时是会阻塞进程的,等待执行完成才会进行下一步。与c.Output()类似,但是Output()可以获取返回值,如果不想阻塞进程可以用c.Start()函数,之后用c.Wait()等待执行完毕也可以。
接下来就是需要注意如何执行带输入参数的exe文件,直接将整个命令作为字符串输入是不可行的!!!比如draco_encode.exe需要两个参数-o outfile -i inputfile,正确的输入格式应该是c:=exec.Command(draco_encode.exe,"-i",inputfile,"-o","outfile")两个file均为字符串格式,即可正确执行。

第二部分为map相关,我们都知道再golang中map是一个很强大的键值对操作,格式为map_key:=make(map[key]value),就可以利用key搜索value了,我们的value可以设置为一个结构体,比如

type person struct {
	height      int
	weight    int
}

我们常用的操作比如记录一个班所有人的信息class:=make(map[int]person),那么必然会涉及到更新一个人的height,此时我们使用指针操作

func (*p person)record_h(h int){
p.height=h}

那么此时我们的map就不能是[int]person了,最好设置为[int]*person,这样我们之后的更新即可直接调用class.record_h[172]进行。当然读者还可以试试能不能获取特定键值所对应的value的地址,这样也可以转为指针,就又可以用[int]person了

另外还遇到了要判断map中的键值是否存在这种问题,比如班级中是否有张三,这时候直接调用class["张三"]看看是不是空就行了。map内容还有很多,后续有时间再整理

标签:map,int,调用函数,golang,person,value,执行
From: https://www.cnblogs.com/wxL-videostreaming/p/18244863

相关文章

  • c++哈希表hash_table的深度学习(hash_map,un和hash_set的底层实现)
    什么是哈希表?哈希表(HashTable)是一种数据结构,它使用哈希函数将键(key)映射到桶(bucket)或槽(slot)中,可以直接通过相应的键值直接对数据进行访问,高效的插入,删除,查找 哈希表的组成部分和特性哈希函数:哈希函数接受一个键作为输入,并返回一个索引值(通常是一个整数),该索引值用于确定键......
  • golang 字节级操作和字符串的区别与转换 []byte(message)
     []byte(message)将字符串message转换为一个字节切片([]byte)。在Go语言中,字符串是不可变的,而字节切片可以被修改。这种转换常用于处理字符串的字节级操作,如编码、解码或写入IO流。 字节级操作和字符串操作在编程中有本质的不同,主要体现在以下几个方面:1.数据单位:......
  • golang sync.Map 与使用普通的 map 的区别
     使用sync.Map与普通的Gomap主要有以下几点区别:1.并发安全性普通map:在没有外部同步的情况下,不是并发安全的。在多goroutine访问时,如果没有适当的锁或其他同步机制保护,可能会导致数据竞争和未定义行为。sync.Map:是并发安全的。它内部实现了必要的同步机制,允许多......
  • 【K8s】专题五(1):Kubernetes 配置之 ConfigMap
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!目录一、基本介绍二、主要特性三、资源清单(示例)四、常用操作一、基本介绍在Kubernetes中,ConfigMap是一种用于存储非敏感信息的资源对象,提供了向Pod......
  • mybatis的mapper中的sql涉及嵌套且外部引用导致的问题:XML fragments parsed from prev
    假设xxx.xml中有类似下方的sql嵌套:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.xx......
  • mybatis-plus加载多个module的mapper踩坑记录
    背景 有一个多模块的项目,每个模块中都有自己的mapper.xml文件。但是在执行一次SQL查询中,mybatis却报出了下面的异常 排查过程第一步,先检查mapper扫描是否正确 先找到这个方法的位置 可以看到包名是com.pinming.security.responsibility.mapper 检查SpringBoot......
  • YOLO 模型的评估指标——IOU、Precision、Recall、F1-score、AP、mAP、
    一、置信度是什么?置信度用于评估模型对检测结果的信心程度下图中,绿色框A表示GroundTruth,也称GT,GT就是正确的标注(人工)二、IOU与TP、FP、FNiou:表示预测的边界框(或分割区域)与真实边界框(或分割区域)之间的交集与并集之间的比值。阈值:根据实际情况可调节IOU=0.5如果预......
  • 【解决了一个小问题】因为镜像证书的问题,golang http client出现错误 `tls: failed to
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯一个服务使用Docker打包镜像,部署到k8s后出现如下的错误信息:tls:failedtoverifycertificate:x509:certificatesignedbyunknownauthority出错的位置是......
  • golang json字符串转结构体
    腐汝 博客园首页新随笔联系订阅管理随笔-168  文章-0  评论-2  阅读- 89497golangjson字符串转结构体 1、不知道结构体类型的情况下funcJsonStringToMap(jsonStrstring)(map[string]interface{},error){//未知值类型......
  • java面试题: HashMap、HashSet 和 HashTable 的区别
     HashMap常用方法 HashMap是一个基于哈希表的Map接口的实现。它允许使用null值和null键。 java复制//创建一个HashMapHashMap<KeyType,ValueType>map=newHashMap<>(); //添加元素map.put(key,value); //获取元素ValueTypevalue=map.get......