跳到主要内容

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包中的PrintlnPrintf函数进行输出;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包中的ScanScanf函数进行输入;Scanf为格式化输入,和C语言很相似

var name string
var age int
fmt.Scanf("%s", &name)
fmt.Scan(&age)
fmt.Println(name, age)