Go语言基础:运算符、文件操作、接口、Packages、if else、for循环

文章目录

  • 1.运算符
  • 2.文件操作
  • 3.接口
  • 4.Packages
  • 5.If else
  • 6.For循环

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)
    }
}

你可能感兴趣的:(Go,golang,开发语言,go)