Golang笔记(一)
package main //必须指定一个包名,声明属于该包 import "fmt" func main() { fmt.Printf("打印 %s:", Hello_World()) //格式化打印,第一个参数必须是包含占位符的格式 learn_var() placeholder() } func Hello_World() string { //必须声明return值的类型否则报错 return "Hello, World!" } func learn_var() { var name string = "baba" //单个声明 var ( //多个声明 age int = 34 pName *string pAge *int ) pName = &name pAge = &age fmt.Printf("Name: %s, Age: %d\n", name, age) fmt.Println("Name: "+name+", Age: ", age) fmt.Println("Name: ", name, ", Age: ", age) fmt.Println("Name: ", &name, ", Age: ", &age) /* 1.* 符号: 在声明变量时,* 可以作为类型的前缀,表示该变量是一个指针类型。例如:var pAge *int 声明了一个类型为 int 的指针变量 pAge。 在间接引用指针时,* 可以用作解引用运算符。通过 *pName,*pAge 可以访问指针 pName,pAge所指向的值。 2.& 符号: 用于获取变量的内存地址。例如:&say 返回变量 say 的内存地址。 可以将一个已经存在的变量通过 & 符号来获取它的指针,如&name,&age */ fmt.Printf("Name: %s, Age: %d, &name: %p, &age: %p, pName: %v, pAge: %v,*pName: %v,*pAge: %v\n", name, age, &name, &age, pName, pAge, *pName, *pAge) //Name: baba, Age: 34, &name: 0xc00004c280, &age: 0xc0000160c0, pName: 0xc00004c280, pAge: 0xc0000160c0,*pName: baba,*pAge: 34 say := Hello_World //给函数Hello_World取了个别名say fmt.Println("say:", &say, say, say(), Hello_World, Hello_World()) //say: 0xc00000a030 0xf7f920 Hello, World! 0xf7f920 Hello, World! } func placeholder() { // 通用占位符 fmt.Printf("通用占位符:%v\n", 42) // 类型占位符 fmt.Printf("类型占位符:%T\n", 3.14) // 布尔值占位符 fmt.Printf("布尔值占位符:%t\n", true) // 整数占位符 fmt.Printf("整数占位符:%d\n", 42) fmt.Printf("二进制占位符:%b\n", 42) fmt.Printf("八进制占位符:%o\n", 42) fmt.Printf("十六进制占位符(小写):%x\n", 42) fmt.Printf("十六进制占位符(大写):%X\n", 42) // 浮点数占位符 fmt.Printf("浮点数占位符:%f\n", 3.14) fmt.Printf("浮点数占位符(大写):%F\n", 3.14) fmt.Printf("科学计数法表示的浮点数占位符:%e\n", 3.14) fmt.Printf("科学计数法表示的浮点数占位符(大写):%E\n", 3.14) // 字符串占位符 fmt.Printf("字符串占位符:%s\n", "Hello, World!") // 指针占位符 value := 100 fmt.Printf("指针占位符:%p\n", &value) // 宽度、精度、对齐等特性 fmt.Printf("宽度和精度:%10.2f\n", 3.14159) //%[宽度].[精度]f fmt.Printf("左对齐:%-*s\n", 10, "Hello") // - 符号表示左对齐,* 标记表示宽度由后面的参数指定 fmt.Printf("右对齐:%*s\n", 10, "World") fmt.Printf("左对齐:%10s\n", "Hello") //直接指定宽度 fmt.Printf("右对齐:%-10s\n", "World") // 复杂类型的打印 person := struct { Name string Age int }{ Name: "Alice", Age: 25, } fmt.Printf("复杂类型的打印:%v\n", person) //复杂类型的打印:{Alice 25} }
本文作者:𝙕𝙆𝘾𝙊𝙄
文章名称:Golang笔记(一)
文章链接:https://www.zkcoi.com/365up/program/2710.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。