package main
import (
"fmt"//输出
"encoding/json"//操作json的包
)
func main() {
// 切片构造结构体
numbers := []int{1, 2, 3, 4, 5}//切片的具体元素是1 2 3 4 5,是一个整形的切片
// 使用 map 构建 JSON 数据
data := map[string]interface{}{//map键值对。键名的类型是string类型。值的类型是空接口 interface{},代表,因此可以表示任意类型的值。我们可以在 map 中存储任意类型的值。
"name": "cyg",
"age": 23,
}
// 转换切片为 JSON 数据
numbersJSON, err := json.Marshal(numbers)
if err != nil {
fmt.Println(err)
return
}
// 转换 map 为 JSON 数据
dataJSON, err := json.Marshal(data)
if err != nil {
fmt.Println(err)
return
}
// 输出 JSON 数据
fmt.Println(string(numbersJSON))// 是表示整数切片的 JSON 数组格式。[1,2,3,4,5]
fmt.Println(string(dataJSON))//{"age":23,"name":"cyg"}
var num int
var str string
// 读取用户输入的整数和字符串
fmt.Print("Enter an integer: ")
fmt.Scanf("%d", &num)
fmt.Print("Enter a string: ")
fmt.Scanf("%s", &str)
// 程序等待用户按下回车键后再退出
fmt.Println("Press Enter to exit...")
var input string
fmt.Scanln(&input)
}