前言:
上一篇为大家演示了安装步骤,这一章将为大家带来以下内容:
输出的三种类型的区别以及应用场景
格式化指令(占位符)的简单介绍
变量的作用域
逻辑运算符
废话不多说,直接上号
输出的三种类型
Print与Println 的区别
- Println 打印的每一项之间都会有空行,Print 没有
- Println 会自动换行,Print 不会
fmt.Println("how","are","you")//输出 :how are you
fmt.Print("how","are","you")//输出 :howareyou
fmt.Println("hello")
fmt.Println("world")
//输出 :hello
// world
fmt.Print("hello")
fmt.Print("world")
//输出 : helloworld
格式化输出Printf
package main
import (
"fmt"
)
func main() {
a := 10
fmt.Println("%d is a number", a) // %d is a number 10
fmt.Printf("%d is a number", a) // 10 is a number
}
格式化指令
%b 一个二进制整数,将一个整数格式转化为二进制的表达方式
%c 一个Unicode的字符
%d 十进制整数
%o 八进制整数
%x 小写的十六进制数值
%X 大写的十六进制数值
%U 一个Unicode表示法表示的整型码值
%s 输出以原生的UTF8字节表示的字符,如果console不支持utf8编码,则会乱码
%t 以true或者false的方式输出布尔值
%v 使用默认格式输出值,或者如果方法存在,则使用类性值的String()方法输出自定义值
%T 输出指针的类型
%p 变量取地址
变量的类型
var name type
var 变量名 变量类型
多个变量类型换行即可,如下:
var (
age int
name string
money float32
)
简短格式
名字 := 表达式
name := "bob" //字符串类型
多个变量:
name1 ,name2 := "bob" , "kali"
这种方式缺点就是每次都需要初始化,而且无法提供数据类型,只能用来在函数内部,不能声明全局变量
赋值
var 变量名 [类型] = 值
var language string = "Go"
var language = "Go"
language := "Go"
变量的作用域
1.局部变量
在函数体内声明的变量为局部变量,只作用在函数体内
package main
import (
"fmt"
)
func main() {
//声明局部变量
var num1, num2, num3 int
//初始化参数
num1 = 1
num2 = 2
num3 = num1 + num2
fmt.Printf(" num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3)
}
2. 全局变量
在函数体外的变量为全局变量,全局变量可以在整个包、函数中使用
package main
import (
"fmt"
)
//声明全局部变量
var num1, num2, num3 int
func main() {
//初始化参数
num1 = 2
num2 = 3
num3 = num1 * num2
fmt.Printf(" num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3)
}
需要注意的是,在函数体内,局部变量会优先于全局变量
package main
import (
"fmt"
)
//声明全局部变量
var num int = 11
func main() {
//声明局部变量
var num int = 12
fmt.Printf(" num = %d\n", num)
}
3.常量
常量使用关键字 const声明。常量常用语存储不会改变的数据,并且只能是布尔型、数字型和字符串型
const 变量名 类型 = 值