{"id":9665,"date":"2022-09-20T02:51:24","date_gmt":"2022-09-19T21:21:24","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/"},"modified":"2022-09-20T02:51:24","modified_gmt":"2022-09-19T21:21:24","slug":"solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/","title":{"rendered":"[Solved] How can I get the Flag chosen by the user in my CLI"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-65703162\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"65703162\" data-parentid=\"65695502\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>This solution has very bad design&#8230; You do not know order of eveluating those flags.<\/p>\n<h2>The issue<\/h2>\n<p>I am assuming you are using <code>cobra<\/code>. So when you read documentation you will not find any part of how your flags are evaluated. So sometimes it is called undefined behavior and it may work but if the future it may be changed<\/p>\n<p>Let&#8217;s analyze your example:<\/p>\n<pre><code>deleteCmd.Flags().StringVarP(&amp;option, \"wallet\", \"w\", \"\", \"Specify the wallet to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;option, \"holding\", \"o\", \"\", \"Specify the holding to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;option, \"ticker\", \"t\", \"\", \"Specify the ticker to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;option, \"tag\", \"g\", \"\", \"Specify the tag to be deleted\")\n<\/code><\/pre>\n<p>You have the following flags: <code>wallet, holding, ticker, tag<\/code>. We can assume order is how you put it in your code. Let&#8217;s say potential behavior:<\/p>\n<p>User put the <code>ticker<\/code> flag. Default value for all flags is empty. So the <code>option<\/code> variable has an empty value, which comes from the <code>tag<\/code> flag.<\/p>\n<h2>The solution<\/h2>\n<p>You should use separated variable for each flag. And you should implement your logic to cover the part to determine which flag has been put.<\/p>\n<pre><code>deleteCmd.Flags().StringVarP(&amp;wallet, \"wallet\", \"w\", \"\", \"Specify the wallet to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;holding, \"holding\", \"o\", \"\", \"Specify the holding to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;ticker, \"ticker\", \"t\", \"\", \"Specify the ticker to be deleted\")\ndeleteCmd.Flags().StringVarP(&amp;tag, \"tag\", \"g\", \"\", \"Specify the tag to be deleted\")\n\nif wallet != \"\" {\n    option = wallet\n    selected = \"wallet\"\n} else if holding != \"\" {\n    option = holding\n    selected = \"holding\"\n} else ...\n...\n...\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How can I get the Flag chosen by the user in my CLI <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] This solution has very bad design&#8230; You do not know order of eveluating those flags. The issue I am assuming you are using cobra. So when you read documentation you will not find any part of how your flags are evaluated. So sometimes it is called undefined behavior and it may work but if &#8230; <a title=\"[Solved] How can I get the Flag chosen by the user in my CLI\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\" aria-label=\"More on [Solved] How can I get the Flag chosen by the user in my CLI\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[596,2714],"class_list":["post-9665","post","type-post","status-publish","format-standard","hentry","category-solved","tag-go","tag-go-cobra"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] This solution has very bad design&#8230; You do not know order of eveluating those flags. The issue I am assuming you are using cobra. So when you read documentation you will not find any part of how your flags are evaluated. So sometimes it is called undefined behavior and it may work but if ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-19T21:21:24+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How can I get the Flag chosen by the user in my CLI\",\"datePublished\":\"2022-09-19T21:21:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\"},\"wordCount\":166,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"go\",\"go-cobra\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\",\"name\":\"[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-19T21:21:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How can I get the Flag chosen by the user in my CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb","og_description":"[ad_1] This solution has very bad design&#8230; You do not know order of eveluating those flags. The issue I am assuming you are using cobra. So when you read documentation you will not find any part of how your flags are evaluated. So sometimes it is called undefined behavior and it may work but if ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/","og_site_name":"JassWeb","article_published_time":"2022-09-19T21:21:24+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How can I get the Flag chosen by the user in my CLI","datePublished":"2022-09-19T21:21:24+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/"},"wordCount":166,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["go","go-cobra"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/","url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/","name":"[Solved] How can I get the Flag chosen by the user in my CLI - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-19T21:21:24+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-get-the-flag-chosen-by-the-user-in-my-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How can I get the Flag chosen by the user in my CLI"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=9665"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9665\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=9665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=9665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=9665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}