go语言练习:幂、函授接收和返回参数、转义字符、变量和常量
1.实现a^b次方
package main
func main() {
r2 := power1(2,4)
println(r2)
}
func power1(a uint64, b uint64) (r uint64) { //a是底数,b是幂,返回r
var i uint64
var temp uint64
if a != 0{
temp = 1
for i=1;i<=b;i++{
temp = temp * a
}
return temp
}
return //这里return只是占一个位置,不然会报错,实际不返回任何值;并且这个函数在调用时候,只能接收一个值,否则会报错
}
2.接收两个参数,返回两个数值
package main
func main() {
t1, t2 := test(10,20)
println(t1)
println(t2)
}
func test(a int, b int)(r1 int, r2 int) {
return a + b, a - b
}
3.转义字符练习
package main
import "fmt"
func main() {
fmt.Println("test\n") //换行符
fmt.Println("test\\n") //使用转义字符,打印\n;
fmt.Println("test\rttt") //遇到\r的时候,换行打印后面内容
fmt.Println("test\ttt") //空一格tab键的长度,打印后面内容
fmt.Println("test\vtt") //空格长度是\t的一半
}
C:/Users/Adong/Adong.exe [C:/Users/Adong]
test test\n
test
ttt
test tt
test tt
4.常量和变量
package main
import "fmt"
func main() {
const a int = 0
const b string = "hello!!!"
a = 2 //如果编译的话,这个地方会出错,因为给常量重新赋值了
fmt.Println(a)
fmt.Println(b)
}
C:/Go/bin/go.exe build -i [C:/Users/Adong]
# _/C_/Users/Adong
.\test.go:8:4: cannot assign to a
错误: 进程退出代码 2.
package main
import "fmt"
func main() {
const a int = 0
const b string = "hello!!!"
var c uint
c = 1
c = 2 //变量可以重新赋值,以最新的赋值为准
//a = 2 //如果编译的话,这个地方会出错,因为给常量重新赋值了
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
再举一个简单例子:
package main
import "fmt"
func main() {
const (
a = 0
b = 1
c = 2
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
C:/Go/bin/go.exe build -i [C:/Users/Adong]
成功: 进程退出代码 0.
C:/Users/Adong/Adong.exe [C:/Users/Adong]
0
1
2
成功: 进程退出代码 0.
常量如果不赋值:
package main
import "fmt"
func main() {
const (
a = 0
b = 1
c = 2
d
)
fmt.Println(a, b, c, d)
}
// 执行结果:
0 1 2 2
package main
import "fmt"
func main() {
const (
i = iota //0
a //1
b = "heh"
c = "heh"
d = iota
e
)
fmt.Println(a, b, c, d, e)
}
iota的使用(可以给常量计数,出现一个常量的时候,会自增1,遇到const关键字后,自动变为0)
package main
import "fmt"
func main() {
const (
i = iota //0
a //1
b = "heh"
c = "heh"
d = iota
e
)
fmt.Println(a, b, c, d, e)
}
//执行结果:
1 heh heh 4 5
go语言练习:幂、函授接收和返回参数、转义字符、变量和常量的更多相关文章
- Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性
一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...
- C语言函数返回值和变量类型
前言 最近在刷题,在写矩阵的快速幂的题时,对于返回值是数组的程序,写的十分冗杂.借此机会,重新梳理下C语言中函数的返回值与变量类型的关系. 按照变量的寿命,可以分为三种类型 1.静态变量 寿命从程序开 ...
- BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题
BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 原文:http://www.sufeinet.com/thread-3707-1-1.html 大家可以先看看我上 ...
- ajax接收php返回得到一堆html代码
ajax接收php返回得到一堆html代码 一. 错误代码: <font size='1'><table class='xdebug-error xe-notice' di ...
- 【04】AJAX接收服务器返回的数据
AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没 ...
- ASP.NET调用存储过程并接收存储过程返回值
ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17| 分类: C#|字号 订阅 2010年02月27日 星期六 23:52 假设表结构Create T ...
- python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b ...
- 【Python笔记】2020年7月22日练习=[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解]
学习教程:廖雪峰-Python教程-函数-函数定义 学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解] 学习心得: 1.对问题进行判断分析后再下手. ...
- 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?
基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...
随机推荐
- makemigrations migrate
教程 如何重置迁移 (图片:https://www.pexels.com/photo/sky-flying-animals-birds-1209/) Django迁移系统的开发和优化使其能够进行大量迁 ...
- 【转】多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)
本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过 本篇的介绍能对常见的线程同步方法有一个整体的认识,而对 ...
- C#基础篇七类和静态成员
1.new关键字做的4个事情 1.1 开辟堆空间 a.开辟多大的空间呢? 当前类 所有的 成员变量类型所占空间的总和 + 类型指针(方法表的地址) b.开辟了空间干什么用呢? 存放 成员变量 1.2 ...
- Sublime Text shift+ctrl 妙用
1 :按住shift+ctrl然后按←或→可快速选中一行中的某一部分,相当于双击鼠标选中. 当你想在代码末尾加注释的话,这个方法很好用 输入文字 -> 光标移到文字末尾 -> 按住shif ...
- 简单Demo 使用Code Fisrt步骤
使用Code Fisrt步骤 1.开启VS,创建控制台项目:CodeFirstDemo1 2.利用NuGet引进 Entity Framework类库 图住:右击项目名称,在弹出的选 ...
- Flutter踩坑日记:Tab导航栏保持子页面状态
最近应邀票圈小伙伴躺坑Flutter,项目初步雏形完结.以原来的工具链版本为基础做了Flutter版本,不过后面还是需要优化下项目接入Redux,以及扩展一些Native方法. 这里记录一下在开发过程 ...
- Spring MVC - MultipartFile实现文件上传(单文件与多文件上传)
准备工作: 需要先搭建一个spirngmvc的maven项目 1.加入jar包 <dependency> <groupId>commons-fileupload</gro ...
- asp.net mvc 微信公众号token验证
本人的公众号要申请成为开发者,必须经过token认证.微信公众号的官方代码只列出了PHP代码的实例,明显是歧视.net用户.我用的asp.net mvc中的web api,结果调了好久都没有成功,最后 ...
- 【JS点滴】声明提前,变量声明提前,函数声明提前,声明提前的先后顺序
声明提前,函数声明提前,好吧,老生常谈的问题了.正好,前些天在掘金看到一道关于声明提前的笔试题,那么这里就以这道题来作为本文的引子吧,代码如下: console.log(a)//? a();//? ; ...
- winform窗体 控件【公共控件】
Button 按钮 布局 AutoSize 自动匹配尺寸 Location 确定控件位置,相对左上角坐标 Margin 控件与控件之间的距离 Size ...