1. Go语言注释
-
单行注释:
//
-
多行注释
/* 这是多行注释 */
-
windows下快速注释
Ctrl + /
-
demo
//文件所属的包 package main //main方法, go语言的一个入口文件 func main() { /* 输出一句话的三种方法 fmt.Print("您好") fmt.Println("您好, golang") fmt.Printf("您好, golang") */ } # go语言一行代码结束不用写分号
2. fmt包
Go要打印一个值需要引入
fmt
包
import "fmt"
fmt 包里面给我们提供了一些常见的打印数据的方法, 比如: Print
, Println
, Printf
, 在我们实际开发中, Printf和Println使用得非常多;
2.1 Print 和 Println 区别
-
2.1.1 Println输出会自动换行; 而Print不会
# Print不换行测试 func main() { fmt.Print("您好") fmt.Print("您好") fmt.Print("您好") } 输出: 您好您好您好 进程完成,并显示退出代码 0 ******************************************* # Println输出会自动换行 func main() { fmt.Println("您好") fmt.Println("您好") fmt.Println("您好") } 输出: 您好 您好 您好 进程完成,并显示退出代码 0
-
2.1.2 一次输入多个值的时候, Println中间有空格, 而Print没有
# 输出多句话的时候, 都会输出在一行, Println中间有空格, 而Print没有 func main() { fmt.Println("A","B","C") fmt.Print("A","B","C") } 输出: A B C ABC 进程完成,并显示退出代码 0
2.2 Print 和 Printf 区别
Printf 是格式化输出, 在很多场景下比 Println 更方便, 举个例子
func main() {
a := 10 // go语言中, 变量定义以后必须要使用
b := 20
c := 40
fmt.Println("a=", a, "b=", b, "c=", c)
fmt.Printf("a=%d b=%d c=%d\n", a, b, c) // \n表示末尾输出换行 %d 整数占位符, 十进制表示
fmt.Printf("a=%v b=%v c=%v\n", a, b, c) // \n表示末尾输出换行 %v 相应值的默认格式
fmt.Printf("a=%v a的类型是%T",a,a) //%T相应值的类型的Go语法表示
}
输出:
a= 10 b= 20 c= 40
a=10 b=20 c=40
a=10 b=20 c=40
a=10 a的类型是int
进程完成,并显示退出代码 0
注意: %d 是占位符,表示数字的十进制表示。Printf 中的占位符与后面的数字变量一一对应
3. Go语言定义变量
3.1 var定义变量
func main() {
// var 变量名 类型 = 表达式
var name string = "张三"
var age = 18
fmt.Printf("name=%v name的类型是%T\n", name, name)
fmt.Printf("age=%v age的类型是%T", age, age)
}
输出:
name=张三 name的类型是string
age=18 age的类型是int
进程完成,并显示退出代码 0
3.2 类型推导式定义变量
- a 在函数内部, 可以使用更简约的
:=
方式声明并初始化变量; - 短变量只能用于声明局部变量, 不能用于全局变量的声明
func main() {
// 变量名 := 表达式
name := "张三"
age := 10
fmt.Printf("name=%v name的类型是%T\n", name, name)
fmt.Printf("age=%v age的类型是%T", age, age)
}
输出:
name=张三 name的类型是string
age=10 age的类型是int
进程完成,并显示退出代码 0
3.3 变量定义以后必须要使用
go语言中, 变量定义以后必须要使用