1.运算符
func main() {
// 算术运算符
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
}
func main() {
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" // 导入自定义包
)
func init() {
}
func main() {
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 110
package learnpackge // 自定义包内容
func init() {
fmt.Println("Simple interest pack initialized")
}
func Calculate(p float64, r float64, t float64) float64 {
interest := p * (r / 100) * t
return interest
}
5.If else
package main
import "fmt"
func main() {
num := 99
if num <= 50 {
fmt.Println(num, "is less than or equal to 50")
} else if 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 := 5
for 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 = 3
for i := 0; i < 3; i++ {
for j := 1; j < 4; j++ {
fmt.Printf("i = %d , j = %d\n", i, j)
}
}
文章来源地址https://www.toymoban.com/news/detail-630351.html
文章来源:https://www.toymoban.com/news/detail-630351.html
到了这里,关于Go语言基础:运算符、文件操作、接口、Packages、if else、for循环的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!