如何检查扫描字符串的第一个字符,即使它是空的?
Posted
技术标签:
【中文标题】如何检查扫描字符串的第一个字符,即使它是空的?【英文标题】:How can I check the first character of a scanned string even if it is empty? 【发布时间】:2022-01-21 17:45:35 【问题描述】:我希望用户能够输入并检查第一个字符是否为a
,但如果他们将字符串留空,则会导致以下错误:
panic: runtime error: index out of range [0] with length 0
我的代码如下:
package main
import "fmt"
func main()
var a string;
fmt.Scanln(&a);
if string(a[0]) == "a"
fmt.Println("if true");
【问题讨论】:
先检查字符串的长度。startsWithA := strings.HasPrefix(a, “a”)
【参考方案1】:
一种方法,只检查第一个字符是否为"a"
var a string;
fmt.Scanln(&a);
if len(a) > 0 && string(a[0]) == "a"
fmt.Println("if true")
另一个,将使用前导空格,例如当Scanln
的输入是" a"
时:
var a string;
fmt.Scanln(&a);
if strings.HasPrefix(a, "a")
fmt.Println("if true")
【讨论】:
以上是关于如何检查扫描字符串的第一个字符,即使它是空的?的主要内容,如果未能解决你的问题,请参考以下文章