go-变量

这次我们学习一下golang语言

gitee: go-study

定义

定义的变量或者函数必须用到(pakeage内的全局除外)

var a int // 默认为0
var b string //默认为""
fmt.Printf("%d %q\n",a, s)
复制代码

直接定义可以不写类型(int..)go会自行判断

var a, b  = 3, 4
var s = "abc"var a, b, c, s  = 3, 4, true, "def"
复制代码

不写var(函数内可用:=,函数外不可以用),

a, b, c, s := 3, 4, true, "def"
b = 5 //第二次不用:=
复制代码

简写var

var aa = 3
var ss = "kkk"
var bb = truevar (aa = 3ss = "kkk"bb = true
)
复制代码

内建变量类型

  • bool, string
  • (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptr
  • byte, rune
  • float332, float64, complex64, complex128

强制类型转换

var a, b int = 3, 4
var c int
c = math.Sqrt(float64(a*a + b*b))) //报错
c = int(math.Sqrt(float64(a*a + b*b))) //正确
复制代码

常量和枚举

  • 常量(不要大写) const数值可以作为各种类型使用
const filename = "abc.txt"
const a, b  = 3, 4 //不定义int类型则为文本
var c int
c = int(math.Sqrt(a*a + b*b))
复制代码
  • 枚举
const (cpp 	= 0java 	= 1pytion 	= 2golang 	= 3
)
fmt.Println(cpp, java, pytion, golang) //0,1,2,3
复制代码
  1. iota
const (cpp = iotajavapytiongolang
)
fmt.Println(cpp, java, pytion, golang)//0,1,2,3const (cpp = iota_ //跳过javapytiongolang
)const (b = 1 << (10 * iota)kbmbgbtbpb
)
fmt.Println(b, kb, mb, gb, tb, pb) //1 1024 1048576 1073741824 1099511627776 1125899906842624
复制代码

条件语句

  • if
const filename = "abc.txt"
contents, err := ioutil.ReadFile(filename)
if err != nil {fmt.Println(err)
} else {fmt.Printf("%s\n", contents)
}
// 第二种写法(类似for) contents外部访问不到
const filename = "abc.txt"
if contents, err := ioutil.ReadFile(filename); err != nil {fmt.Println(err)
} else {fmt.Printf("%s\n", contents)
}
fmt.Printf("%s\n", contents) //报错
复制代码
  • switch
func grade(score int) string {g := ""switch {case score < 0 || score > 100:panic(fmt.Sprintf("Wrong score: %d", score))case score < 60:g = "f"case score < 80:g = "c"case score < 90:g = "b"case score <= 100:g = "a"}return g
}
fmt.Println(grade(0),grade(59),grade(69),
)// f f c
fmt.Println(grade(0),grade(59),grade(69),grade(101),
)// 报错,其他数值算不出来
复制代码

后续会继续更新

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

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

相关文章

CSS3:CSS3 文本效果

ylbtech-CSS3&#xff1a;CSS3 文本效果1.返回顶部 1、CSS3 文本效果 CSS3 文本效果 CSS3中包含几个新的文本特征。 在本章中您将了解以下文本属性&#xff1a; text-shadowbox-shadowtext-overflowword-wrapword-break浏览器支持 属性 text-shadow4.010.03.54.09.5box-sha…

洛谷 P2296 寻找道路

题目描述 在有向图G 中&#xff0c;每条边的长度均为1 &#xff0c;现给定起点和终点&#xff0c;请你在图中找一条从起点到终点的路径&#xff0c;该路径满足以下条件&#xff1a; 1 &#xff0e;路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 &#xff0e;在满足…

Feature Preprocessing on Kaggle

刚入手data science, 想着自己玩一玩kaggle&#xff0c;玩了新手Titanic和House Price的 项目, 觉得基本的baseline还是可以写出来&#xff0c;但是具体到一些细节&#xff0c;以至于到能拿到的出手的成绩还是需要理论分析的。 本文旨在介绍kaggle比赛到各种原理与技巧&#xf…

十天冲刺-04

昨天&#xff1a;完成了日历界面的部署&#xff0c;并且能够获取到选中的日期 今天&#xff1a;完成根据日期查找消费记录功能 问题&#xff1a;日历界面占用屏幕太多&#xff0c;后期会进行调整转载于:https://www.cnblogs.com/liujinxin123/p/10760254.html

构建Spring Boot程序有用的文章

构建Spring Boot程序有用的文章&#xff1a; http://www.jb51.net/article/111546.htm转载于:https://www.cnblogs.com/xiandedanteng/p/7508334.html

如果您遇到文件或数据库问题,如何重置Joomla

2019独角兽企业重金招聘Python工程师标准>>> 如果您遇到Joomla站点的问题&#xff0c;那么重新安装其核心文件和数据库可能是最佳解决方案。 了解问题 这种方法无法解决您的所有问题。但它主要适用于由Joomla核心引起的问题。 运行Joomla核心更新后&#xff0c;这些…

数组初始化 和 vector初始化

int result[256] {0}; 整个数组都初始化为0 vector<int> B(length,1); 整个vector初始化为1 如果你定义的vector是这样定义的&#xff1a; vector<int> B; 去初始化&#xff0c;千万不要用&#xff1a; for(int i 0;i < length;i)B[i] 1; 这样会数组越界&…

Genymotion模拟器拖入文件报An error occured while deploying the file的错误

今天需要用到资源文件&#xff0c;需要将资源文件拖拽到sd卡中&#xff0c;但老是出现这个问题&#xff1a; 资源文件拖不进去genymotion。查看了sd的DownLoad目录&#xff0c;确实没有成功拖拽进去。 遇到这种问题的&#xff0c;我按下面的思路排查问题&#xff1a; Genymotio…

激光炸弹(BZOJ1218)

激光炸弹&#xff08;BZOJ1218&#xff09; 一种新型的激光炸弹&#xff0c;可以摧毁一个边长为R的正方形内的所有的目标。现在地图上有n(N<10000)个目标&#xff0c;用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置&#xff0c;每个目标都有一个价值。激光炸弹的投放是…

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15 not found

解决错误呈现该错误的原因是当前的GCC版本中&#xff0c;没有GLIBCXX_3.4.15&#xff0c;须要安装更高版本。我们可以输入&#xff1a;strings /usr/lib/libstdc.so.6 | grep GLIBCXX&#xff0c;查看当前的GCC版本&#xff0c;成果如下&#xff1a;GLIBCXX_3.4 GLIBCXX_3.4.1 …

用servlet设计OA管理系统时遇到问题

如果不加单引号会使得除变量和int类型的值不能传递 转发和重定向的区别 转发需要填写完整路径&#xff0c;重定向只需要写相对路径。原因是重定向是一次请求之内已经定位到了服务器端&#xff0c;转发则需要两次请求每次都需要完整的路径。 Request和response在解决中文乱码时的…

JDK源码——利用模板方法看设计模式

前言&#xff1a; 相信很多人都听过一个问题&#xff1a;把大象关进冰箱门&#xff0c;需要几步&#xff1f; 第一&#xff0c;把冰箱门打开&#xff1b;第二&#xff0c;把大象放进去&#xff1b;第三&#xff0c;把冰箱门关上。我们可以看见&#xff0c;这个问题的答案回答的…

[Usaco2010 Mar]gather 奶牛大集会

1827: [Usaco2010 Mar]gather 奶牛大集会 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1129 Solved: 525 [Submit][Status][Discuss]Description Bessie正在计划一年一度的奶牛大集会&#xff0c;来自全国各地的奶牛将来参加这一次集会。当然&#xff0c;她会选择最方便的…

与TIME_WAIT相关的几个内核参数

问题 公司用浏览器访问线上服务一会失败一会成功&#xff0c;通过ssh连接服务器排查时发现ssh也是这样&#xff1b; 检查 抓包后发现建立连接的请求已经到了服务器&#xff0c;但它没有响应&#xff1b; 纠结了好久&#xff0c;后来在腾讯云技术支持及查了相关资料后发现是开启…

View的绘制-layout流程详解

目录 作用 根据 measure 测量出来的宽高&#xff0c;确定所有 View 的位置。 具体分析 View 本身的位置是通过它的四个点来控制的&#xff1a; 以下涉及到源码的部分都是版本27的&#xff0c;为方便理解观看&#xff0c;代码有所删减。 layout 的流程 先通过 measure 测量出 Vi…

1-1、作用域深入和面向对象

课时1&#xff1a;预解释 JS中的数据类型 number、string、 boolean、null、undefined JS中引用数据类型 object: {}、[]、/^$/、Date Function var num12; var obj{name:白鸟齐鸣,age:10}; function fn(){ console.log(勿忘初心方得始终&#xff01;) }console.log(fn);//把整…

茶杯头开枪ahk代码

;说明这个工具是为了茶杯头写的,F1表示换枪攻击,F3表示不换枪攻击,F2表示停止攻击. $F1::loop{ GetKeyState, state, F2, Pif state D{break } Send, {l down}Send, {l up}sleep,10Send,{m down}Send,{m up} }return $F3::loop{ GetKeyState, state, F2, Pif state D{break }…

Vim使用技巧:撤销与恢复撤销

在使用VIM的时候&#xff0c;难免会有输错的情况&#xff0c;这个时候我们应该如何撤销&#xff0c;然后回到输错之前的状态呢&#xff1f;答案&#xff1a;使用u&#xff08;小写&#xff0c;且在命令模式下&#xff09;命令。 但如果有时我们一不小心在命令模式下输入了u&…

PaddlePaddle开源平台的应用

最近接触了百度的开源深度学习平台PaddlePaddle&#xff0c;想把使用的过程记录下来。 作用&#xff1a;按照这篇文章&#xff0c;能够实现对图像的训练和预测。我们准备了四种颜色的海洋球数据&#xff0c;然后给不同颜色的海洋球分类为0123四种。 一、安装paddlepaddle 1.系统…

Hyperledger Fabric区块链工具configtxgen配置configtx.yaml

configtx.yaml是Hyperledger Fabric区块链网络运维工具configtxgen用于生成通道创世块或通道交易的配置文件&#xff0c;configtx.yaml的内容直接决定了所生成的创世区块的内容。本文将给出configtx.yaml的详细中文说明。 如果需要快速掌握Fabric区块链的链码与应用开发&#x…