当前位置:  首页>> 技术小册>> GO面试指南

在编程中,字面量(literal)是指程序中直接使用的常量值或变量值,而不是通过变量、表达式或函数计算得出的值。在 Go 语言中,字面量通常用于表示字符串、数字、布尔值、数组、结构体等数据类型。

组合字面量(composite literal)则是一种特殊的字面量形式,它可以用于创建数组、切片、映射、结构体等复合类型的值。

下面是一些示例:

  1. // 字符串字面量
  2. str := "Hello, world!"
  3. // 整数字面量
  4. i := 42
  5. // 布尔值字面量
  6. b := true
  7. // 数组字面量
  8. arr := [3]int{1, 2, 3}
  9. // 切片字面量
  10. sli := []int{4, 5, 6}
  11. // 映射字面量
  12. m := map[string]int{"one": 1, "two": 2, "three": 3}
  13. // 结构体字面量
  14. type Person struct {
  15. Name string
  16. Age int
  17. }
  18. p := Person{Name: "Alice", Age: 18}
  19. // 组合字面量
  20. arr2 := [3]int{1, 2, 3}
  21. sli2 := []int{4, 5, 6}
  22. m2 := map[string]int{"one": 1, "two": 2, "three": 3}
  23. p2 := Person{Name: "Alice", Age: 18}
  24. // 通过组合字面量创建数组
  25. arr3 := [...]int{1, 2, 3, 4, 5}
  26. // 通过组合字面量创建切片
  27. sli3 := []int{1, 2, 3, 4, 5}
  28. // 通过组合字面量创建映射
  29. m3 := map[string]int{
  30. "one": 1,
  31. "two": 2,
  32. "three": 3,
  33. }
  34. // 通过组合字面量创建结构体
  35. p3 := Person{
  36. Name: "Alice",
  37. Age: 18,
  38. }

在上面的示例中,我们首先使用了一些字面量,例如字符串字面量、整数字面量、布尔值字面量等。然后,我们使用组合字面量创建了一些数组、切片、映射、结构体等复合类型的值。组合字面量的语法是在类型名后面加上一对花括号,花括号中是用逗号分隔的值列表,这些值将用于初始化该类型的值。组合字面量还可以指定某些元素的索引值,例如映射字面量中的键值对,结构体字面量中的字段等。


该分类下的相关小册推荐: