golong基础相关操作--一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package main//go语言以包作为管理单位,每个文件必须先声明包
//程序必须有一个main包
// 导入包,必须要要使用
// 变量声明了,必须要使用
import ("fmt"
)/*
*
包内部的变量
*/
var aa = 3var ss = "kkk"var bb = truevar (aaa = 3sss = "kkk"bbb = true
)/*
*
定义变量 必须有值
*/
func variableZeroValue() {var a intvar s stringfmt.Printf("%d %q\n", a, s)
}/**
变量赋值
*/func variableInitialValue() {var a, b int = 3, 4var s string = "abc"fmt.Println(a, b, s)
}func variableTypeDeduction() {var a, b, c, s = 3, 4, true, "def"fmt.Println(a, b, c, s)
}func variableShorter() {a, b, c, s := 3, 4, true, "def" //自动推到类型,必须初始化,%T打印变量所属的类型b = 5fmt.Println(a, b, c, s)
}func test() (a, b, c int) {return 1, 2, 3
}/**
数据类型作用:告诉编译器这个变量应该以多大的内存存储
*/
// 一个文件夹里面只有一个main文件
func main() {//fmt.Println("hello world")//variableZeroValue()//variableInitialValue()//variableTypeDeduction()//variableShorter()//fmt.Println(aa, ss, bb)//fmt.Println(aaa, sss, bbb)//交换2个变量////a, b := 10, 20//a, b = b, a//fmt.Println(a, b)//var (//	e int//	c int//	d int//)匿名变量,丢弃数据不处理,_匿名变量配合函数返回值使用,才有优势//e, c, d = test()//fmt.Println(e, c, d) 常量:程序运行期间,不可以改变的量,常量声明需要const////const f int = 10//f = 20; 常量不允许赋值,不允许修改//fmt.Println("f= ", f)////const g = 10 //没有使用:= 不允许使用//fmt.Println("g= ", g)//多个变量或常量定义var a1 intvar b1 float64a1, b1 = 10, 3.14////var (//	a1 int//	b1 float64//)//a1, b1 = 10, 3.14//fmt.Println(a1, b1)//const i int = 10const j float64 = 3.14//const (	i int = 10	j float64 = 3.14)////const (//	i = 10//	j = 3.14 // 可以自动推导类型//)//fmt.Println(i, j)// iota常量自动生成器,每个一行,自动累加1 iota给常量赋值使用//const (//	a2 = iota//	b2 = iota//	c2 = iota//)////fmt.Printf("a2 = %d, b2 = %d, c2 = %d\n", a2, b2, c2)3 iota遇到const,重置为0//const d2 = iota//fmt.Printf("d2 = %d\n", d2)// 可以只写一个iota//const (//	a3 = iota//	b3//	c3//)//fmt.Printf("a3 = %d, b3 = %d, c3 = %d\n", a3, b3, c3)//如果是同一行,值都一样//const (//	a4         = iota//	b4, b5, b6 = iota, iota, iota//	c4         = iota//)//fmt.Printf("a4 = %d, b4 = %d, b5 = %d, b6 = %d, c4 = %d\n", a3, b4, b5, b6, c4)///类型分类 bool 类型 int8 这里的8代表8位//var boolean1 bool//boolean1 = true//fmt.Println("boolean1 = ", boolean1)////var float3 float32//float3 = 3.14//fmt.Println("float = ", float3)//float4 := 3.124//fmt.Printf("float4 = %T\n", float4)// float64存储小数比float32更准确,15小数点,7为小数点//字符类型//var ch byte //声明字符类型//ch = 97格式化输出,%d以字符方式打印//fmt.Printf("ch = %c, %d\n", ch, ch)////ch = 'a' //字符单引号//fmt.Printf("ch = %c, %d\n", ch, ch)//大写转小写,小写转大写//str := "mike"//内建函数,len可以测字符串的长度,有多少个字符 len(str) =  4//fmt.Println("len(str) = ", len(str))//复数类型//var t complex128//t = 2.1 + 3.14i//fmt.Println("t = ", t) //t =  (2.1+3.14i)//内建函数,取实数和虚数//fmt.Println("readl(t)=", real(t), "imag(t)=", imag(t)) //readl(t)= 2.1 imag(t)= 3.14//var inta int//fmt.Println("请输入变量a: ")阻塞等待用户的输入//fmt.Scanf("%d", &inta) //或者fmt.Scan(&a)//fmt.Println("a = ", inta)//类型转换var flag boolflag = true//bool 类型不能转换为int//fmt.Printf("flag = %d\n", int(flag)) //%!d(bool=true)fmt.Printf("flag = %t\n", flag) //%!d(bool=true)// 0就是假 非0就是真// 整型也不能转换为bool 这种不能转换的类型,叫不兼容类型//flag = 1//类型转换,把ch的值取出来后转出int再给t赋值var ch bytech = 'a' //字符类型本质上就是整型var t intt = int(ch)fmt.Println("t = ", t)// 类型别名 给int64起一个别名叫biginttype bigint int64var a1 bigintfmt.Printf("a1 = %T\n", a1) //a1 = main.biginttype (long int64char byte)//运算符fmt.Println("f>3", 4 > 3)//if语句s := "王思聪"//if和{就是条件,条件通常就是关系运算符if s == "王思聪" {fmt.Println("左手一个妹子,右手一个校花")}//if支持1个初始化语句 初始化语句和判断条件以分号分隔if a := 10; a == 10 {fmt.Println("a==10")}//多个分支 if elses1 := 11if s1 == 0 {fmt.Println("a==10")} else {fmt.Println("a!=10")}//var num int//fmt.Printf("请按下楼层:")//fmt.Scan(&num)////switch num { //switch后面写的是变量本身//case 1://	fmt.Println("按下的是1楼\n")//	//fallthrough //不跳出switch语句,后面的无条件执行//	//break //go语言保留break字,跳出switch语句,不写,默认就包含了//case 2://	fmt.Println("按下的是2楼\n")//	//fallthrough//	//break//case 3://	fmt.Println("按下的是3楼\n")//	//fallthrough//	//break//case 4://	fmt.Println("按下的是4楼\n")//	//fallthrough//	//break//default://	fmt.Println("按下的是xxx楼")//}//score := 85//switch {//case score > 90://	fmt.Println("优秀")//case score > 80://	fmt.Println("优秀")//case score > 70://	fmt.Println("优秀")//}////sum := 0for循环使用 1 初始化条件,2 判断是否为真,如果为真,执行循环体,如果为假跳出循环 3 条件变化i++ 4 重复2,3 4//for i := 1; i <= 100; i++ {//	fmt.Println("i=", i)//	sum = sum + i//}//fmt.Println("sum = ", sum)////strr := "abc"range 迭代打印每个元素,默认返回2个值 一个是元素的位置,一个是元素本身//for i, data := range strr {//	fmt.Printf("str[%d] = %c\n", i, data)//}//range 第二个返回值,默认丢弃,返回元素的位置(下标)//for i, _ := range strr {//	fmt.Printf("str[%d] = %c\n", i, strr[i])//}////i1 := 0//for { //for后面不写任何东西,这个循环条件永远为真,死循环//	i1++//	time.Sleep(time.Second) //延时1s//	if i1 == 5 {//		break //跳出循环,如果嵌套多个循环,跳出最近的那个内循环//		//continue //跳过本次循环,下一次继续//	}//	fmt.Println("i= ", i1)//}//goto可以用在任何地方,但是不能跨函数使用fmt.Println("111111111111")goto End //goto是关键字,End是用户起的名字,他叫标签fmt.Println("222222222222")
End:fmt.Println("33333333333333")
}

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

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

相关文章

Revit SDK 介绍:AutoStamp 自动水印 AutoUpdate 自动更新 CancelSave

前言 这三个例子都是通过注册事件来完成相应的工作&#xff0c;内容比较简单。 内容 事件参考博客&#xff1a;Revit API&#xff1a;Events 事件总览 AutoStamp 自动水印 使用到的事件&#xff1a; application.ControlledApplication.ViewPrinting application.Controll…

医学案例|线性回归

一、案例介绍 某医师预研究糖尿病患者的总胆固醇和甘油三酯对空腹血糖的影响&#xff0c;某研究者调查40名糖尿病患者的总胆固醇、甘油三酯和空腹血糖的测量值如下&#xff0c;试根据上述研究问题作统计分析。 二、问题分析 本案例想要研究一些变量&#xff08;总胆固醇和甘油…

前端list列表自定义图标并设置大小

前端list列表自定义图标并设置大小 一、前端list列表基础知识回顾 前端公有两种列表&#xff0c;一种是有序列表&#xff08;ol&#xff09;&#xff0c;一种是无序列表&#xff08;ul&#xff09;&#xff0c;它们的子元素都是&#xff08;li&#xff09;。 1.1 有序列表&a…

安装bpftrace和bcc的踩坑记录

最后在Ubuntu22.04使用Ubuntu提供的安装命令完成了安装。这里是记录尝试在Ubuntu18.04和Ubuntu22.04使用源码安装未果的过程。 文章目录 22版本安装bcc准备工具安装命令使用报错&#xff1a;iovisor封装的安装方式ubuntu的安装方式 For Bionic (18.04 LTS)官方提供的源码安装准…

2023年03月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;波兰表达式 波兰表达式是一种把运算符前置的算术表达式&#xff0c;例如普通的表达式2 3的波兰表示法为 2 3。波兰表达式的优点是运算符之间不必有优先级关系&#xff0c;也不必用括号改变运算次序&am…

力扣:83. 删除排序链表中的重复元素(Python3)

题目&#xff1a; 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚…

Matlab图像处理-幂次变换

幂次变换 如下图所示的幂次变换函数曲线图&#xff1a; 当γ <1时&#xff0c;效果和对数变换相似&#xff0c;放大暗处细节&#xff0c;压缩亮处细节&#xff0c;随着数值减少&#xff0c;效果越强。 当γ >1时&#xff0c;放大亮处细节&#xff0c;压缩暗处细节&…

Spring Boot框架以及它的优势

文章目录 介绍1. **简化配置**2. **快速启动**3. **自动配置**4. **集成第三方库和框架**5. **微服务支持**6. **内嵌式数据库支持**7. **健康监控和管理**8. **可插拔的开发工具**9. **丰富的社区和生态系统**10. **良好的测试支持&#xff1a;** 核心特性**1. 依赖注入&#…

服务器监控可视化

IT监控可视化是一种将IT监控数据以图形化的方式呈现给用户的技术&#xff0c;可以帮助用户更直观、更易懂地了解IT系统的运行状况。服务器监控可视化是其中的一个重要应用场景&#xff0c;可以将服务器的各种性能指标以图表、仪表盘等形式展示&#xff0c;以便管理员更好地了解…

25.CSS自定义形状按钮与悬停效果

效果 源码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS Custom Shape Button</title><link rel="stylesheet" href="style.css"> </head> <body&…

Windows Network File System Remote Code Execution Vulnerability

文章目录 NFS(Network File System)漏洞描述攻击者如何利用此漏洞&#xff1f;该漏洞的危险程度机密性-high真实性-high可用性-high 如何降低漏洞风险推荐阅读 NFS(Network File System)漏洞描述 Name Microsoft Windows Network File System Remote Code Execution Vulnerabi…

Java后端开发面试题——多线程

创建线程的方式有哪些&#xff1f; 继承Thread类 public class MyThread extends Thread {Overridepublic void run() {System.out.println("MyThread...run...");}public static void main(String[] args) {// 创建MyThread对象MyThread t1 new MyThread() ;MyTh…