funcmain(){// 算术运算符
a, b :=3,7
c := a + b
d := a - b
e := a * b
f := a / b
g := a % b
a++
a--
fmt.Println(c, d, e, f, g)// 关系运算符
fmt.Println(a == b)
fmt.Println(a != b)
fmt.Println(a < b)
fmt.Println(a > b)
fmt.Println(a <= b)
fmt.Println(a >= b)// 逻辑运算符
o, p :=true,false
fmt.Println(o && p)// 输出 false
fmt.Println(o || p)// 输出 true
fmt.Println(!o)// 输出 false// 位运算符
fmt.Println(a & b)
fmt.Println(a | b)
fmt.Println(a ^ b)
fmt.Println(a <<2)
fmt.Println(b >>1)
fmt.Println(^a)// 赋值运算符
k :=10
k +=5
fmt.Println(k)
k -=3
fmt.Println(k)
k *=2
fmt.Println(k)
k /=4
fmt.Println(k)
k %=2
fmt.Println(k)}
2.文件操作
file, err := os.Open("a.txt")if err !=nil{
fmt.Println("Error", err)// 如果发生错误 则输出错误信息 Error open a.txt: The system cannot find the file specified.return}defer file.Close()// 使用 defer 关键字关闭文件句柄// 使用 bufio 读取文件内容
scanner := bufio.NewScanner(file)for scanner.Scan(){// for 循环打印每一行内容
fmt.Println(scanner.Text())}if err := scanner.Err(); err !=nil{
fmt.Println("Error:", err)}
3.接口
// 在 Go 中,接口是一种类型,它定义了一组方法的集合。定义了接口以后,任何实现了该接口中所有方法的类型都可以被称为该接口的实现类型。换句话说,接口定义了一种规范,只要符合规范的类型都可以被视为该接口类型的实现。// 接口定义格式如下type 接口名 interface{
方法名1(参数列表1) 返回值列表1
方法名2(参数列表2) 返回值列表2...}// 接口演示package main
import"fmt"type Shape interface{// 接口Area()float64// 方法}type Rectangle struct{// 结构体
width float64
height float64}func(r Rectangle)Area()float64{// 为 Rectangle 结构体定义一个 Area() 方法,用于计算矩形的面积return r.width * r.height
}funcmain(){var s Shape // 声明一个 Shape 类型的变量 s
s = Rectangle{width:5, height:3}// 将一个 Rectangle 类型的变量赋值给它
fmt.Println("Area of Rectangle:", s.Area())// 调用 s 变量的 Area() 方法,计算矩形的面积并输出}
4.Packages
package main
import("fmt""one/learnpackge"// 导入自定义包)funcinit(){}funcmain(){
fmt.Println("Simple interest calculation")
p :=1000.0
r :=11.0
t :=1.0
si := learnpackge.Calculate(p, r, t)
fmt.Println("Simple interest is", si)}// 输出:Simple interest pack initialized// Simple interest calculation// Simple interest is 110package learnpackge // 自定义包内容funcinit(){
fmt.Println("Simple interest pack initialized")}funcCalculate(p float64, r float64, t float64)float64{
interest := p *(r /100)* t
return interest
}
5.If else
package main
import"fmt"funcmain(){
num :=99if num <=50{
fmt.Println(num,"is less than or equal to 50")}elseif num >=51&& num <=100{
fmt.Println(num,"is between 51 and 100")}else{
fmt.Println(num,"is greater than 100")}}
6.For循环
for i :=1; i <=10; i++{if i%2==0{break//loop is terminated if i > 5//continue}
fmt.Printf("%d ", i)}
fmt.Printf("\nline after for loop")/// 打印出一下内容/// */// **/// ***/// ****/// *****
n :=5for i :=0; i < n; i++{for j :=0; j <= i; j++{
fmt.Print("*")}
fmt.Println()}/// 打印以下内容/// i = 0 , j = 1/// i = 0 , j = 2/// i = 0 , j = 3/// i = 1 , j = 1/// i = 1 , j = 2/// i = 1 , j = 3/// i = 2 , j = 1/// i = 2 , j = 2/// i = 2 , j = 3for i :=0; i <3; i++{for j :=1; j <4; j++{
fmt.Printf("i = %d , j = %d\n", i, j)}}