Go语言基本语法
程序基本结构
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
变量定义
// 先定义,再赋值
var name string
name = "Momo"
// 其他方式定义
var age = 18 // 自动推导类型为int
name := "Momo" // 简短定义
备注
和C语言还有C++不同的是,Go变量类型放在变量后面,而不是前面。
全局变量与局部变量
- 定义在函数体(包括main函数)内的变量都是局部变量,定义了就必须使用
- 定义在外部的变量就是全局变量,可以只定义不使用
package main
import "fmt"
var age = 18
func main() {
var name = "Momo"
fmt.Println(name) // name在函数体内,必须被使用
}
定义多个变量
var a1, a2, = 1, 2
a3, a4 := 3, 4
var (
name = "Momo"
age = 18
)
常量定义
使用const关键字定义常量
const name = "Momo"
const age = 18
const (
name = "Momo"
age = 18
)
输入输出
输出
Go语言使用fmt包中的Println、Printf函数进行输出;Printf为格式化输出,和C语言很相似
fmt.Println("Hello World!")
fmt.Prinf("%v %v", 1, 2) // %v表示任意类型,用于占位
fmt.Printf("%d %d", 1, 2) // %d表示int类型
fmt.Printf("%.2f %f", 1.0, 2.0) // %f表示float类型
fmt.Printf("%s %s", "Momo", "Momo") // %s表示string类型
fmt.Printf("%#v", "") // %#v表示输出格式,适合打印空字符串
Sprintf可以获取格式化输出的字符串,然后进行拼接
message := fmt.Sprintf("Hello %s", "Momo")
fmt.Println(message)
输入
Go语言使用fmt包中的Scan、Scanf函数进行输入;Scanf为格式化输入,和C语言很相似
var name string
var age int
fmt.Scanf("%s", &name)
fmt.Scan(&age)
fmt.Println(name, age)