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

文章目录

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

1.运算符

func main() {// 算术运算符a, b := 3, 7c := a + bd := a - be := a * bf := a / bg := a % ba++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, falsefmt.Println(o && p) // 输出 falsefmt.Println(o || p) // 输出 truefmt.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 := 10k += 5fmt.Println(k)k -= 3fmt.Println(k)k *= 2fmt.Println(k)k /= 4fmt.Println(k)k %= 2fmt.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 mainimport "fmt"type Shape interface { // 接口Area() float64 // 方法
}type Rectangle struct { // 结构体width  float64height float64
}func (r Rectangle) Area() float64 { // 为 Rectangle 结构体定义一个 Area() 方法,用于计算矩形的面积return r.width * r.height
}func main() {var s Shape                                 // 声明一个 Shape 类型的变量 ss = Rectangle{width: 5, height: 3}          // 将一个 Rectangle 类型的变量赋值给它fmt.Println("Area of Rectangle:", s.Area()) // 调用 s 变量的 Area() 方法,计算矩形的面积并输出
}

4.Packages

package mainimport ("fmt""one/learnpackge"		// 导入自定义包
)
func init() {}func main() {fmt.Println("Simple interest calculation")p := 1000.0r := 11.0t := 1.0si := learnpackge.Calculate(p, r, t)fmt.Println("Simple interest is", si)
}// 输出:Simple interest pack initialized
//      Simple interest calculation
//      Simple interest is 110package learnpackge			// 自定义包内容func init() {fmt.Println("Simple interest pack initialized")
}func Calculate(p float64, r float64, t float64) float64 {interest := p * (r / 100) * treturn interest
}

5.If else

package mainimport "fmt"func main() {num := 99if 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 = 3for i := 0; i < 3; i++ {for j := 1; j < 4; j++ {fmt.Printf("i = %d , j = %d\n", i, j)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/24018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库面试题:如何定位慢查询?

MySQL数据库面试题&#xff1a;如何定位慢查询&#xff1f; 面试官&#xff1a;MySQL中&#xff0c;如何定位慢查询&#xff1f; 候选人&#xff1a;嗯~&#xff0c;我们当时做压测的时候有的接口非常的慢&#xff0c;接口的响应时间超过了2秒以上&#xff0c;因为我们当时的系…

win11 vscode torch 编译遇错

1. 错误内容&#xff1a; Failed to build pc-util ERROR: Could not build wheels for pc-util, which is required to install pyproject.toml-based projects NativeCommandExitException: Program “pip.exe” ended with non-zero exit code: 2.问题分析&#xff1a; pip出…

Linux命令(59)之screen

linux命令之screen 1.screen介绍 linux命令screen是用来进行多窗口管理。 默认screen命令没有安装&#xff0c;安装命令(基于yum源)&#xff1a;yum install -y screen 2.screen用法 screen [参数] screen参数 参数说明-r恢复离线的screen作业-ls显示所有的screen作业 3.…

echarts 饼图的label放置于labelLine引导线上方

一般的饼图基础配置后长这样。 想要实现将文本放置在引导线上方&#xff0c;效果长这样 const options {// ...series: [{label: {padding: [0, -40],},labelLine: {length: 10,length2: 50,},labelLayout: {verticalAlign: "bottom",dy: -10,},},], };label.padd…

Zip压缩包密码忘记了,怎么办?

Zip压缩包设置了密码&#xff0c;解压的时候就需要输入正确对密码才能顺利解压出文件&#xff0c;正常当我们解压文件或者删除密码的时候&#xff0c;虽然方法多&#xff0c;但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么&#xff0c;忘记了zip压缩包的密…

CNN成长路:从AlexNet到EfficientNet(01)

一、说明 在 10年的深度学习中&#xff0c;进步是多么迅速&#xff01;早在 2012 年&#xff0c;Alexnet 在 ImageNet 上的准确率就达到了 63.3% 的 Top-1。现在&#xff0c;我们超过90%的EfficientNet架构和师生训练&#xff08;teacher-student&#xff09;。 如果我们在 Ima…

基于C#的应用程序单例唯一运行的完美解决方案 - 开源研究系列文章

今次介绍一个应用程序单例唯一运行方案的代码。 我们知道&#xff0c;有些应用程序在操作系统中需要单例唯一运行&#xff0c;因为程序多开的话会对程序运行效果有影响&#xff0c;最基本的例子就是打印机&#xff0c;只能运行一个实例。这里将笔者单例运行的代码共享出来&…

实现5*5正方形网格x轴和y轴显示对应数值组件封装

实现5*5正方形网格x轴和y轴显示对应数值组件封装 需求&#xff1a;按5*5的正方形网格&#xff0c;根据目标数据的x和y轴值显示对应的文字&#xff0c;实现效果图如下&#xff1a;&#xff08;当前目标数值&#xff1a;x2&#xff0c;y2&#xff09; 代码如下&#xff1a; <…

【Python】conda创建完全干净的虚拟环境

安装指定版本的完全干净的虚拟环境 conda create --name py36_tf12 python3.6.8 --no-default-packages激活刚创建虚拟环境 conda activate py36_tf12 使用pip list发现还是有其他环境的第三方库 python -m pip install --upgrade pip升级pip之后&#xff0c;再使用pip list…

分布式系统:ACID与CAP

ACID: 在计算机科学中&#xff0c;ACID是数据库事务的一组特性&#xff0c;旨在保证数据的有效性&#xff0c;即使在出现错误、断电和其他意外情况下也能保持数据的一致性。在数据库的上下文中&#xff0c;满足ACID属性的一系列数据库操作&#xff08;可以被视为对数据的单一逻…

【云原生】K8S二进制搭建三:高可用配置

目录 一、部署CoreDNS二、配置高可用三、配置负载均衡四、部署 Dashboard 一、部署CoreDNS 在所有 node 节点上操作 #上传 coredns.tar 到 /opt 目录中 cd /opt docker load -i coredns.tar在 master01 节点上操作 #上传 coredns.yaml 文件到 /opt/k8s 目录中&#xff0c;部…

servlet生命周期和初始化参数传递

servlet生命周期和初始化参数传递 1、servlet生命周期 只有第一次访问才会初始化&#xff0c;之后访问都只执行service中的。 除非tomcat关闭重新启动&#xff1a; 2、初始化参数传递

ruby - ckeditor 设置编辑器高度

参考&#xff1a;Blogs <% f.cktext_area :zh_content, ckeditor: { height: 1000} %>

决策树与随机森林

目录 决策树是&#xff1a;Why&#xff1a;How&#xff1a;基本概念决策树生成举例决策树缺点参考 Demo 随机森林1.是&#xff1a;2.Why&#xff1a;3.How&#xff1a;参考 Demo 决策树 是&#xff1a; 1.一种有监督的分类&#xff08;或预测&#xff09;算法。 2.利用属性、…

嵌入式Linux编程--贪吃蛇

习得&#xff1a; 1.ncurse库&#xff1a; 使用ncurse是因为案件响应灵敏&#xff0c;不用回车&#xff1b;头文件#include<curses.h> 创建.c文件&#xff0c;同时gcc编译也需要添加 -lcurses 主函数中&#xff1a; initscr();//ncurse界面初始化函数 …

springboot背诵

1、springboot简介 2、spring注解 Bean&#xff1a; Configuration&#xff1a; Component&#xff1a; Controller&#xff1a; Service&#xff1a; Repository&#xff1a; ComponentScan&#xff1a; Import&#xff1a; Conditional&#xff1a; ConfigurationProperties&…

跨cpu架构部署容器技术点:怎样修改Linux 的内核版本

在使用Docker 进行跨平台部署之后&#xff0c;我们还可以尝试进行跨架构部署。 从X86 架构上移植到 aarch64 上。 要使用这个功能&#xff0c;需要Docker 的版本在19以上&#xff0c;因为这个是19以上版本中提供的一个实验性方案。 除此之外还需要&#xff1a;Linux的内核版本要…

uni-app-使用tkiTree组件实现树形结构选择

前言 在实际开发中我们经常遇见树结构-比如楼层区域-组织架构-部门岗位-系统类型等情况 往往需要把这个树结构当成条件来查询数据&#xff0c;在PC端可以使用Tree&#xff0c;table&#xff0c;Treeselect等组件展示 在uni-app的内置组件中似乎没有提供这样组件来展示&#x…

并查集模板的应用:连通块

一、链接 837. 连通块中点的数量 二、题目 给定一个包含 nn 个点&#xff08;编号为 1∼n1∼n&#xff09;的无向图&#xff0c;初始时图中没有边。 现在要进行 mm 个操作&#xff0c;操作共有三种&#xff1a; C a b&#xff0c;在点 aa 和点 bb 之间连一条边&#xff0c…

Windows server上用nginx部署vue3项目

Windows server上用nginx部署vue3项目 一、Node中node_modules文件夹及package.json文件的作用说明二、VUE3项目打包三、Windows Server上的Nginx部署 一、Node中node_modules文件夹及package.json文件的作用说明 node_modules是安装node后用来存放用包管理工具下载安装的包的…