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模 ...
随机推荐
- codeforces 229C
题意: http://codeforces.com/problemset/problem/229/C 给你一个全图,分成两部分,问你这两个途中一共有多少个三角形. 思 ...
- 关于PHP动态的接收传递的GET,POST和COOKIE变量
0x01 我们知道 PHP 接收的变量最常用的是 GET,POST,COOKIE 这三个变量.GET变量是附在 url 后传输的,而 POST 变量是放在 http 包中传输的,COOKIE 则是浏览 ...
- 3.PHP条件语句及其字符串相关函数
PHP条件语句 <?php $number = rand(1,100); if($number % 2 == 0){ echo "%2"; } ...
- Tomcat反序列化漏洞(CVE-2016-8735)
目录 CVE-2016-8735 漏洞复现 漏洞修复: CVE-2016-8735 漏洞描述: 该漏洞与之前Oracle发布的 mxRemoteLifecycleListener 反序列 ...
- 动手实现一个适用于.NET Core 的诊断工具
前言 大家可能对诊断工具并不陌生,从大名鼎鼎的 dotTrace,到 .NET CLI 推出的一系列的高效诊断组件(dotnet trace,dotnet sos,dotnet dump)等, 这些工 ...
- 【maven】理论知识
Maven是跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理. 项目构建 项目构建过程包括[清理项目]→[编译项目]→[测试项目]→[生成测试报告]→[打包项目]→[部署项目]这几个步 ...
- 批处理用WINRAR只压缩某类型的文件
1:新建文件夹sql back 和 back,在sql back 文件夹内新建test1.dbb和test2.bak文件 2:新建批处理文件rar.bat,编辑文件: @echo off for %% ...
- Getting Started and Beyond|云原生应用负载均衡选型指南
作者 冉昕,腾讯云服务网格TCM产品经理,现负责云原生流量接入网关与应用通信可观测性等产品特性策划与设计工作. 刘旭,腾讯云高级工程师,专注容器云原生领域,有多年大规模 Kubernetes 集群管理 ...
- DVWA--SQL Injection
sql注入是危害比较大的一种漏洞,登录数据库可以进行文件上传,敏感信息获取等等. Low 先来看一下源码 <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { ...
- java基础——循环结构
循环结构 while 循环 只要表达式成立,循环就一直持续 我们大多数情况会让循环停下来,我们需要一个让表达式失效的方式,来结束循环 public static void main(String ...