为了账号安全,请及时绑定邮箱和手机立即绑定

有关字符串的索引字符的问题

有关字符串的索引字符的问题

Go
米脂 2022-09-26 15:36:26
以下是我创建的程序,用于了解字符串字符索引在 Go 中的工作原理:package mainimport "fmt"func main() {    vendor1 := "Cisco"    fmt.Println(vendor1[0])      fmt.Println(vendor1[1:4])     fmt.Println(vendor1[1:])      fmt.Println(vendor1[:])}输出:C:\Golang\VARIABLE> go run .\variable.go67isciscoCisco令我感到困惑的是,Println(供应商1[0])返回数字“67”而不是“C”,为什么会这样?为什么它与打印器(供应商1[1:4])、打印器(供应商1[1:])和Println(供应商1[:])不同,它们都返回所需的字符?
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

索引表达式与切片表达式不是一回事,不要将它们混为一谈。

索引(与切片相反)返回 的类型别名 ,并简单地打印出无符号整数。byteuint8Println

切片返回一个字符串,这就是输出文本的原因。Println


查看完整回答
反对 回复 2022-09-26
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

要打印索引 0 处的值,请使用 而不是 ,因为您可以使用的其他三个值,因为它们是字符串。我修改了您的代码,如下所示:fmt.Printf("%c\n", vendor1[0])fmt.Println(vendor1[0])%sfmt.Printf()


package main


import (

    "fmt"

)


func main() {


    vendor1 := "Cisco"


    fmt.Printf("%c\n", vendor1[0])


    fmt.Printf("%s\n", vendor1[1:4])

    fmt.Printf("%s\n", vendor1[1:])

    fmt.Printf("%s\n", vendor1[:])


}

输出:


C

isc

isco

Cisco


查看完整回答
反对 回复 2022-09-26
  • 2 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信