Golang内置函数

桃扇骨 2022-12-23 03:22 189阅读 0赞

make

make可以用于构造map和切片。

构造map

  1. mp := make(map[int]bool)

构造切片

  1. slice := make([]int, 0)

new

开辟一块内存空间,比如struct经常使用new创建,返回的是这块内存空间的地址,可以传给一个指针。

  1. type Student struct {
  2. Id, Name string
  3. }
  4. var ptr *Student
  5. ptr = new(Student)
  6. ptr.Id = "1707020319"
  7. ptr.Name = "coopersong"

len

用于获取切片/数组/字符串的长度。

获取切片的长度

  1. slice := []int{1, 2, 3}
  2. n := len(slice)
  3. fmt.Printf("切片的长度是%d\n", n)

输出:切片的长度是3

获取数组的长度

  1. arr := [5]int{1, 2, 3, 4, 5}
  2. n := len(arr)
  3. fmt.Printf("数组的长度是%d\n", n)

输出:数组的长度是5

获取字符串的长度

  1. str := "cooper"
  2. n := len(str)
  3. fmt.Printf("字符串的长度是%d\n", n)

输出:字符串的长度是6

需要注意的是,字符串在Golang中使用byte管理的,也就是二进制的01串,在显示字符串的时候会用utf8来解码。对于英文字符来说,一个字符就对应一个字节,因此使用len可以准确得到英文字符串的长度。然而对于中文字符来说,使用len只能得到其占用的字节数,并不能够得到中文字符的个数。举下面这个例子:

  1. str := "大家好"
  2. n := len(str)
  3. fmt.Printf("字符串的长度是%d\n", n)

输出:字符串的长度是9

并不是字符串有9个字符,而是字符串占用了9个字节,看来中文字符在Golang中是占3个字节的。

如果想要获得准确的字符数,建议使用utf8.CountRuneInString(str):

  1. str := "大家好"
  2. fmt.Printf("字符串的长度是%d\n", utf8.RuneCountInString(str))

输出:字符串的长度是3

append

用于往切片中动态添加元素。

  1. slice = append(slice, element)

发表评论

表情:
评论列表 (有 0 条评论,189人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ORACLE 函数

    \--以下内容是从网上和实践中总结出来的。由于是刚刚入手 ORACLE 故记录下来以便日后备用   \--ORACLE内置函数 \--1、 ASCII  --返回与

    相关 oracle函数

    oracle数据库 SQL语句、内置函数大全   1、数值函数      函数      返回值             样例            显示     CEI