Java转Go学习之旅 | Go入门(1)

入门

    • 命令行参数
    • 找出重复行
      • 常规版本
      • 涉及文件操作

命令行参数

命令行参数以os包中Args名字的变量供程序访问,在os包外面,使用os.Args这个名字

  • 变量os.Args是一个字符串slice
  • os.Args[0]:命令本身的名字
  • os.Args[1:]:另外的元素,是程序开始执行时的参数
package main  import (  "fmt"  "os"   "strings"
)  func main() {  //输出命令行名字  fmt.Println(os.Args[0])  s, sep := "", ""  // 每一次迭代,range产生一对值:索引和这个索引处元素的值  for _, arg := range os.Args[1:] {  s += sep + arg  sep = " "  }  fmt.Println(s)  fmt.Println(strings.Join(os.Args[1:], ", "))  
}
  • 空标识符_:可以用在任何语法需要变量名但是逻辑不需要的地方

找出重复行

常规版本

// dup 输出标准输入中出现次数大于1的行,前面是次数  
package main  import (  "bufio"  "fmt"   "os"
)  func main() {  counts := make(map[string]int)  input := bufio.NewScanner(os.Stdin)  for input.Scan() {  counts[input.Text()]++  }  for line, n := range counts {  if n > 1 {  fmt.Printf("%d: %s\n", n, line)  }  }  
}

涉及文件操作

package main  import (  "fmt"  "io/ioutil"   "os"   "strings")  func main() {  counts := make(map[string]int)  for _, filename := range os.Args[1:] {  data, err := ioutil.ReadFile(filename)  if err != nil {  fmt.Fprintf(os.Stderr, "dup2: %v\n", err)  continue  }  for _, line := range strings.Split(string(data), "\n") {  counts[line]++  }  }  for line, n := range counts {  if n > 1 {  fmt.Printf("%d: %s\n", n, line)  }  }  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cglib动态代理从入门到掌握

Cglib 动态代理 本文的写作目的是为了探究 Spring 框架中在使用Transactional标注的方法中使用 this 进行自调用时事务失效的原因,各种视频教程中只是简单指出 this 指向的不是代理类对象,而是目标类对象,但是并没有解释为什么 this 不是代理…

麒麟系统使用桌面共享远程桌面

客户端安装vinager 服务端 安装 vnc4server xrdp tightvncserver vino 安装完成后 需要重启 在用户的家目录下新建 .xsession 写入xfce4-session防止闪退 雪花屏 开启xrdp服务 远程链接 Vnc只能链接系统登录的用户 Rdp可以链接所有普通用户

vscode插件webview和插件通信

如果你要在 VS Code 插件的 WebView 中调用插件中的方法,可以使用 vscode.postMessage API。具体步骤如下: 在插件中,在创建 WebView 时,指定一个 onDidReceiveMessage 回调方法,该方法会在 WebView 中调用 vscode.po…

【C语言】结构体内存对齐

目录 引入结构体 结构的声明 创建和初始化 内部元素的使用; 特殊声明: 结构体在内存中的对齐 练习: 引入结构体 C语言有各种数据类型,我们已经对一些数据类型很熟悉: 整型(int)- 存储整…

力扣-151. 反转字符串中的单词

文章目录 看下去,你一定可以理解此题,写的简单易懂力扣题目解题思路函数构成1.反转函数2.消除掉多余空格函数 整体函数 看下去,你一定可以理解此题,写的简单易懂 力扣题目 给你一个字符串 s ,请你反转字符串中 单词 …

京东商品详情数据在数据分析行业中的重要性

京东商品详情数据在数据分析行业中具有重要作用。这些数据提供了丰富的信息,可以帮助企业了解市场趋势、消费者需求、产品表现以及运营策略等多个方面。 首先,京东商品详情数据可以为企业提供市场趋势分析的依据。通过观察商品的销售量、销售额、价格等…

c语言:理解和避免野指针

野指针的定义: 野指针是指一个指针变量存储了一个无效的地址,通常是一个未初始化的指针或者指向已经被释放的内存地址。当程序尝试使用野指针时,可能会导致程序崩溃、内存泄漏或者其他不可预测的行为。因此,在编程中需要特别注意…

Pandas中DataFrame对象的创建与常用属性方法(第2讲)

Pandas中DataFrame对象的创建与常用属性方法(第2讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于孔雀算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.孔雀算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-2 特征值与特征向量

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-数学基础Ch0-2 特征值与特征向量 1. 定义1.1 线性变换1.2 求解特征值,特征向量1.3 应用:对角化矩阵——解耦Decouple 2. Summary 1. 定义 A v ⃗ λ v ⃗ A\vec{v}\lambd…

【网络奇缘】- 计算机网络|深入学习物理层|网络安全

​ 🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 回顾链接:http://t.csdnimg.cn/ZvPOS 这篇文章是关于深入学习原理参考模型-物理层的相关知识点&…

Linux权限命令详解

Linux权限命令详解 文章目录 Linux权限命令详解一、什么是权限?二、权限的本质三、Linux中的用户四、linux中文件的权限4.1 文件访问者的分类(人)4.2 文件类型和访问权限(事物属性) 五、快速掌握修改权限的做法【第一种…

Spark-Streaming+Kafka+mysql实战示例

文章目录 前言一、简介1. Spark-Streaming简介2. Kafka简介二、实战演练1. MySQL数据库部分2. 导入依赖3. 编写实体类代码4. 编写kafka主题管理代码5. 编写kafka生产者代码6. 编写Spark-Streaming代码总结前言 本文将介绍一个使用Spark Streaming和Kafka进行实时数据处理的示例…

实战1-python爬取安全客新闻

一般步骤:确定网站--搭建关系--发送请求--接受响应--筛选数据--保存本地 1.拿到网站首先要查看我们要爬取的目录是否被允许 一般网站都会议/robots.txt目录,告诉你哪些地址可爬,哪些不可爬,以安全客为例子 2. 首先测试在不登录的…

Docker Network(网络)——8

目录: Docker 为什么需要网络管理Docker 网络架构简介 CNMLibnetwork驱动常见网络类型 bridge 网络host 网络container 网络none 网络overlay 网络docker 网络管理命令 docker network createdocker network inspectdocker network connectdocker network disconne…

class072 最长递增子序列问题与扩展【算法】

class072 最长递增子序列问题与扩展【算法】 code1 300. 最长递增子序列 // 最长递增子序列和最长不下降子序列 // 给定一个整数数组nums // 找到其中最长严格递增子序列长度、最长不下降子序列长度 // 测试链接 : https://leetcode.cn/problems/longest-increasing-subsequen…

830. 单调栈

​​​​​​ ​​​​​​830. 单调栈 - AcWing题库 给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1−1。 输入格式 第一行包含整数 N,表示数列长度。 第二行包含 N个整数,表示整数数列…

你知道MySQL中 group by 怎么优化吗

更好的阅读体验,请点击 YinKai s Blog。 ​ 在 MySQL 中 group by 用于按照一个或多个列对结果集进行分组。在讨论 group by 怎么优化之前,我们先来看看 group by 的执行流程,这样我们才能对症下药。 group by 执行流程 ​ 我们先用下面的 …

Ubuntu 18.04使用Qemu和GDB搭建运行内核的环境

安装busybox 参考博客: 使用GDBQEMU调试Linux内核环境搭建 一文教你如何使用GDBQemu调试Linux内核 ubuntu22.04搭建qemu环境测试内核 交叉编译busybox 编译busybox出现Library m is needed, can’t exclude it (yet)的解释 S3C2440 制作最新busybox文件系统 https:…