Go语言计算字符串长度:len()和RuneCountInString()

1. len() 函数Go 语言的内建函数 len(),可以用来获取切片、字符串、通道(channel)等的长度。下面的代码可以用 len() 来获取字符串的长度:s1 := "hello, world" fmt.Println(len(s1)) s2 := "世界" fmt.Println(len(s2)) 程序输出如下:12 6 len() 函数的返回值的类型为 int,表示字符串的 ASCII 字符个数或字节长度。输出中第一行的 12 表示 s1 的字符个数为 12。输出中第二行的 6 表示 s2 的字符格式,也就是“世界”的字符个数 ......
<阅读全文>

Go数组切片的长度和容量

切片可以看成是数组的引用。在 Go 中,每个数组的大小是固定的,不能随意改变大小,切片可以为数组提供动态增长和缩小的需求,但其本身并不存储任何数据。切片的长度是它所包含的元素个数。切片的容量是从它的第一个元素到其底层数组元素末尾的个数。切片 s 的长度和容量可通过表达式 len(s) 和 cap(s) 来获取。当数组的容量发生了变化,那么数组的内存地址就会发生变化。数组切片左边界值控制切屏容量([2:),右边界值控制切片长度([0:3])。
<阅读全文>

Go环境设置问题

问题1:go.mod file not found in current directory or any parent directory; see 'go help modules' 在说解决办法之前,先说明下背景:开发环境:go version go1.18.4 windows/amd64项目路径:C:\Users\Lam\Desktop\golang\github.com\lamxops\testpro解决1:要解决这个问题,需要先了解Go语言的模块管理方式:在 Go 1.11 之前,要求模块存在于 GOPATH 下,我们这里称 “GOPATH 模块管理方式” ;在 Go ......
<阅读全文>

《GO语言之旅》学习笔记:流程控制语句 - for、if、else、switch 和 defer

Go语言之旅中文网站:Go语言之旅一、for1.1 for 说明Go 只有一种循环结构:for 循环。基本的 for 循环由三部分组成,它们用分号隔开:初始化语句:在第一次迭代前执行条件表达式:在每次迭代前求值后置语句:在每次迭代的结尾执行初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的 作用域 中可见。一旦条件表达式的布尔值为 false,循环迭代就会终止。例子:package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { ......
<阅读全文>

《GO语言之旅》学习笔记:包、变量和函数

Go语言之旅中文网站:Go语言之旅一、包(package)1.1 包的说明每个 Go 程序都是由包构成的。程序从 main 包开始运行。package main // 导入路径 "fmt" 和 "math/rand" 来使用这两个包 import ( "fmt" "math/rand" ) func main() { fmt.Println("My favorite number is", rand.Intn(10)) } 提示://符号表示注释。按照约 ......
<阅读全文>