GO语言基础语法 | 青训营笔记

54 阅读2分钟
  • 结构体作为函数的参数的时候,加指针可以在函数内修改并影响全局,而且用指针能够节约大结构体的空间开销
  • 字符串的操作很多都不是很熟悉,这里记录一下吧,有用到的再补充,不用也忘了
go
复制代码
Go
复制代码
// 首先是strings.TrimSuffix,Trim是整齐的意思,Suffix是后缀的意思
// 第一个参数是原字符串,第二个参数是需要删除的后缀
  s := "hello world"
  s1 := strings.TrimSuffix(s, "world")
  fmt.Println(s1) // 输出 "hello "
go
复制代码
Go
复制代码
// strings.Contains 用于判断一个字符串是否包含另一个字符串。
func Contains(s, substr string) bool
  • 结构体作为函数的参数的时候,加指针可以在函数内修改并影响全局,而且用指针能够节约大结构体的空间开销
  • 字符串的操作很多都不是很熟悉,这里记录一下吧,有用到的再补充,不用也忘了
go
复制代码
Go
复制代码
// 首先是strings.TrimSuffix,Trim是整齐的意思,Suffix是后缀的意思
// 第一个参数是原字符串,第二个参数是需要删除的后缀
  s := "hello world"
  s1 := strings.TrimSuffix(s, "world")
  fmt.Println(s1) // 输出 "hello "
go
复制代码
Go
复制代码
// strings.Contains 用于判断一个字符串是否包含另一个字符串。
func Contains(s, substr string) bool

Golang的切片是一个由指向底层数组的指针、容量、当前长度构成的结构体。
切片插入元素时,如果底层数组的容量足够,则直接length+1,切片中加入新增元素。如果底层数组容量不够,重新分配容量为原有容量二倍的底层数组,进行拷贝后令切片指向底层数组的指针指向新数组。
切片作为函数传参时,如果仅仅是修改切片内元素,因为在结构体值拷贝时可以拿到指向底层数组的指针,所以可以使用值传递。
当需要在切片中插入元素(即append)时,因为有可能会扩容进而导致底层数组指针的重新指向,所以需要传递原有切片的指针。

作者:用户8393410288470
链接:juejin.cn/post/723225…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:

青训营笔记

作者:用户8393410288470
链接:juejin.cn/post/725928…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。