目录
一、基本语法
注意:
每个go文件都需要在开头声明它属于哪个包
每个执行的go程序,都需要有一个main包,main包里需要有一个main函数
go语言属于函数式编程,代码由函数来组织,函数也可以作为参数传递
go语言可以说是一个把编码风格写进语法的语言
1.注释
//单行注释
/*
多行注释
*/
2.变量声明和赋值
go语言中标识符的命名规则与Python的一致
①.全局变量:
package main
import "fmt"
//全局变量声明在函数体外
//全局变量不能声明多次
var a int //整数类型的默认值为0
//声明并赋值
var b = 10
var c int = 20
//用var声明多个变量
var (
d string
e int
)
func main() {
//对全局变量赋值
a = 10
fmt.Println(a)
fmt.Println(b, c)
}
②.局部变量:
package main
import "fmt"
func main(){
test()
}
func test(){
//局部变量定义在函数体里
//局部变量定义了就要使用
//局部变量也不能重复声明
var x int //声明
x = 100 //赋值
fmt.Println("x is", x)
//定义局部变量简便方式 -- 声明+赋值
y := "abc"
fmt.Println("y is", y)
}
③.常量
go语言的常量一旦被定义了就不能修改了
常量声明的同时必须赋值,不然会出错
package main
import "fmt"
//定义
const a = 10
//定义多个常量
const(
b = 20
c //未赋值变量的值与上一个变量的值一样
d
)
const(
m = 1
n = 2
x = iota //自带的特殊常量 -- 计数器(从0开始计数),计算是第几个常量
y
)
func main(){
fmt.Println(a)
fmt.Println(b, c, d)
fmt.Println(m, n, x, y)
}
二、基本输入输出
fmt — 标准输入输出包
bufio — 也可以接受输入输出
1.基本输入
①.fmt.Scan()
–接收用户的输入,用空格分隔分别传给变量,敲完所需的输入才会结束
package mian
import "fmt"
func main(){
var a int
var b string
fmt.Println("请输入a和b:")
//&a 获取a的内存地址
fmt.Scan(&a, &b)
fmt.Println("a is", a, "b is", b)
}
②.fmt.Scanf()
–严格按照指定形式输入,若格式未按指定形式输入,赋值会出现错误
package main
import "fmt"
func main(){
fmt.Print("请按照“a=num,b=num”的格式输入a和b:")
var a int
var b string
fmt.Scanf("a=%d,b=%s", &a, &b)
fmt.Println("a is", a, "b is", b)
}
错误输入:
正确输入:
③.fmt.Scanln()
–与fmt.Scan()一样用空格分隔分别传给变量,但fmt.Scanln()以换行符来结束本次输入
package main
import "fmt"
func main(){
fmt.Print("请输入a和b:")
var a int
var b string
fmt.Scanln(&a, &b)
fmt.Println("a is", a, "b is", b)
}
2.基本输出
①.fmt.Print()
–原样输出,不换行
package main
import "fmt"
func main(){
fmt.Print("hello")
fmt.Print("world")
}
②.fmt.Println()
–自动添加换行符和空格分隔符
package main
import "fmt"
func main(){
fmt.Println("hello", "world")
}
③.fmt.Printf()
–格式化输出
package main
import "fmt"
func main(){
name := "sctl"
fmt.Printf("hello %s", name)
}
④.Print()与fmt.Print()
package main
import "fmt"
func main(){
//错误输出 stderr
print("test print")
//标准输出 stdout
fmt.Print("test fmt print")
}
3.使用bufio库进行输入
package main
import (
"bufio"
"fmt"
"os"
)
func main(){
fmt.Print("请输入reader的值:")
//变量reader接收标准输入--从键盘输入
reader := bufio.NewReader(os.Stdin)
//直到读到换行符结束,返回的结果有两个,需要用两个变量接收
//line接收的是输入的内容,e接收的是错误
//无错误时e为默认值nil
line, e := reader.ReadString('\n')
//若不使用变量,可以使用匿名变量_接收
//line, _ := reader.ReadString('\n')
fmt.Print("line =", line)
fmt.Print("error =", e)
}
版权声明:本文为m0_69298614原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。