GO语言常用标准库04---flag读取命令行参数
package main import (
"flag"
"fmt"
"math"
"os"
) /*
go build xxx.go 编译产生同名的exe文件(在当前文件夹下)
go run xxx.go 编译执行二合一(产生的exe文件在临时目录下)
go builde -o yoursister.exe xxx.go 编译产生yoursister.exe文件(在当前文件夹下)
*/ /*简易获取命令行参数:获取命令行上输入的所有字符串*/
func main031() {
fmt.Println(os.Args) //获取rmb参数
for i,arg := range os.Args{
if arg == "rmb"{
fmt.Println("rmb=",os.Args[i+1])
break
}
}
} //yoursister -name 如花 -age 18 -rmb 0.5 -married true
func main032() { //定义一个字符串类型的命令行参数:参数名称name,参数默认值“无名氏”,作用“你妹芳名”
//得到一个将来存储name参数的值的地址/指针
namePtr := flag.String("name","无名氏","你妹芳名") //定义了整型命令行参数age
agePtr := flag.Int("age", 0, "你妹芳龄") //定义浮点型命令行参数rmb
rmbPtr := flag.Float64("rmb", 0, "你妹资产") //定义布尔型命令行参数married
marriedPtr := flag.Bool("married", false, "你妹婚否") //解析获取参数值
flag.Parse() fmt.Println(*namePtr,*agePtr,*rmbPtr,*marriedPtr) //根据你妹的具体信息求得你妹的受欢迎指数
//...
} //yoursister -name 如花 -age 18 -rmb 0.5 -married true
func main() {
var name string//"" 有地址
var age int//0
var rmb float64
var married bool /*定义命令行参数*/
flag.StringVar(&name,"name","无名氏","你妹芳名")
flag.IntVar(&age,"age",0,"你妹芳龄")
flag.Float64Var(&rmb,"rmb",0,"你妹资产")
flag.BoolVar(&married,"married",false,"你妹婚否") //解析获取参数值
flag.Parse()
fmt.Println(name,age,rmb,married) //评估你妹的受欢迎程度
popularity := GetPopularity(name, age, rmb, married)
fmt.Printf("你妹的受欢迎程度是%d%%\n",popularity)
} /*评估某人的受欢迎程度*/
func GetPopularity(name string,age int,rmb float64,married bool) int{ //预设受欢迎程度为60
var popularity float64 = 60.0 //如果名字是四个字以上,受欢迎程度*=1.1
if len(name) >= 3*4{
popularity *= 1.1
} //越有钱越受欢迎(以5万为60分,每增加1万,魅力值+=1)
popularity += (rmb-50000)/10000 //越年轻越受欢迎
popularity *= (35.0/float64(age)) //如果已婚,受欢迎程度*=0.5
if married {
popularity *= 0.5
} return int(math.Round(popularity))
} func test() {
//fmt.Println(len("西门如花"))
fmt.Println(GetPopularity("西门耶律不花",20,50000,false))
fmt.Println(GetPopularity("翠花",80,0.5,true))
}
GO语言常用标准库04---flag读取命令行参数的更多相关文章
- GO语言常用标准库03---time包
package main import ( "fmt" "time" ) func main021() { nowTime := time.Now() fmt. ...
- GO语言常用标准库02---os包
package main import ( "fmt" "os" ) func main() { //获得当前工作路径(当前工程根目录) dir, err := ...
- GO语言常用标准库01---strings包
package main import ( "fmt" "strings" ) func main031() { fmt.Printf("字符形式:% ...
- C语言常用的库文件(头文件、函数库)
C语言常用的库文件(头文件.函数库) C系统提供了丰富的系统文件,称为库文件.C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过.在& ...
- 一文说透 Go 语言 HTTP 标准库
本篇文章来分析一下 Go 语言 HTTP 标准库是如何实现的. 转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/561 ...
- py常用标准库
functools python3中增加了更多工具函数,做业务开发时大多情况下用不到,记录一个比较常用的,给函数或者对象初始化参数 partial函数(偏函数) 把一个函数的某些参数设置默认值,返回一 ...
- 【循序渐进学Python】11.常用标准库
安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 ...
- 第二章 函数编程&常用标准库
函数编程&常用标准库 ...
- nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模块的Javascript
Javascrip本身不带IO功能,nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模 ...
随机推荐
- 【golang】golang 相关问题?
1.golang 官网下载很慢: 中科大镜像:http://mirrors.ustc.edu.cn/golang/ 2.go get 下载依赖很慢的问题: https://goproxy.io/zh/ ...
- 【工具类】Stream流构建指定长度的时间集合
package com.gabriel.stage.utils; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.Dat ...
- 病毒木马查杀实战第013篇:一个基于.NET的“敲竹杠”病毒研究
前言 恶意程序发展至今,其功能已经从最初的单纯破坏,不断发展为隐私的窥探,信息的盗取,乃至如今非常流行的"敲竹杠"病毒,用于勒索.可见随着时代的发展,病毒的作者们往往也是想利用自己 ...
- ART模式下基于dex2oat脱壳的原理分析
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78513483 一般情况下,Android Dex文件在加载到内存之前需要先对dex ...
- hdu3585 二分最大团(dp优化)
题意 给你一些点( <= 50),让你找到k个点,使得他们之间的最小距离最大. 思路: 求最小的最大,我们可以直接二分去枚举距离,但是要注意,不要去二分double找距离 ...
- JWT(Json Web Token)认证
目录 JWT(Json Web Token) JWT的数据结构 JWT的用法 JWT验证流程
- 【python】Leetcode每日一题-寻找旋转排序数组中的最小元素2
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素2 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums ...
- 【maven】You may use+to add a project ro to let the plugin find all pom.xml files...
错误显示 解决方法 点击pom.xml,再Add as Maven Project 如果还不能解决,点击idea的log 复制报错(技巧:可以先将idea.log删除,比较好定位) Caused by ...
- 狂神说Elasticsearch7.X学习笔记整理
Elasticsearch概述 一.什么是Elasticsearch? Lucene简介 Lucene是一套用于全文检索和搜寻的开源程序库,由Apache软件基金会支持和提供 Lucene提供了一个简 ...
- 人人都爱Kubernetes,Docker难道就不香了吗?
开篇 提起Docker,有很多人第一印象会认为它就是一个虚拟化容器,所以大家特别容易陷入到一种误区,就是觉得Docker只是在Linux操作系统之上又增加了一层,就跟OS上跑了一个VMWare一样.D ...