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语言练习:幂、函授接收和返回参数、转义字符、变量和常量的更多相关文章

  1. Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性

    一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...

  2. C语言函数返回值和变量类型

    前言 最近在刷题,在写矩阵的快速幂的题时,对于返回值是数组的程序,写的十分冗杂.借此机会,重新梳理下C语言中函数的返回值与变量类型的关系. 按照变量的寿命,可以分为三种类型 1.静态变量 寿命从程序开 ...

  3. BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 原文:http://www.sufeinet.com/thread-3707-1-1.html      大家可以先看看我上 ...

  4. ajax接收php返回得到一堆html代码

    ajax接收php返回得到一堆html代码 一.      错误代码: <font size='1'><table class='xdebug-error xe-notice' di ...

  5. 【04】AJAX接收服务器返回的数据

    AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没 ...

  6. ASP.NET调用存储过程并接收存储过程返回值

    ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17|  分类: C#|字号 订阅       2010年02月27日 星期六 23:52 假设表结构Create T ...

  7. 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 ...

  8. 【Python笔记】2020年7月22日练习=[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解]

    学习教程:廖雪峰-Python教程-函数-函数定义 学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解] 学习心得: 1.对问题进行判断分析后再下手. ...

  9. 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

随机推荐

  1. SSH框架整合详细分析【执行流程】

    struts1和spring有两种整合的方法  一种是action和spring bean映射:一种是将action交给spring初始化 第一种方式:访问.do的URL->tomcat接收到r ...

  2. Hadoop2源码分析-序列化篇

    1.概述 上一篇我们了解了MapReduce的相关流程,包含MapReduce V2的重构思路,新的设计架构,与MapReduce V1的区别等内容,今天我们在来学习下在Hadoop V2中的序列化的 ...

  3. java中this$0 this$1 this$2

    import java.lang.reflect.Field; public class Outer {//this$0 public class FirstInner {//this$1 publi ...

  4. Yarn和Mesos:资源管理调度平台

    目前得分布式系统中,对于资源管理都采用动态资源划分来取代静态资源划分.它有如下好处: 集群资源利用率高 增加数据共享能力,可以多种计算框架公用一份分布式存储数据. 资源管理抽象模型 概念模型 常见得资 ...

  5. VMware虚拟机屏幕大小只有400,800怎么办如何解决

    一,VMware中Linux虚拟机屏幕分辨率调整之前安装修改Linux分辨率命令行 在VMware中安装Linux虚拟机后,屏幕分辨率通常默认设置为800x600,并且不能通过“屏幕分辨率首选项”窗口 ...

  6. 第2章 Selenium2-java 测试环境搭建

    2.1  Window下环境搭建 2.1.1 安装Java 2.1.2 安装Eclipse (网上资源很多,就不详将了). 2.1.3 下载Java版的Selenium包. 下载地址:http://d ...

  7. c# winform 获取当前程序运行根目录

    1 // 获取程序的基目录. 2 System.AppDomain.CurrentDomain.BaseDirectory 3 4 5 // 获取模块的完整路径. 6 System.Diagnosti ...

  8. C#调用百度地图API经验分享(二)

    接着上一篇,将上一篇代码的js提取出来:<script type="text/JavaScript">var map = new BMap.Map("allm ...

  9. .NET世界的包管理器——Nuget

    NugetServer 使用指南 为什么要使用Nuget 在我们的项目, 存在着一些公共Dll, 这些Dll被大量的项目所引用.同时这些公共dll也同时在进行版本升级, 由于缺乏版本管理,这些Dll会 ...

  10. 关于sublimeText3 设置格式化代码快捷键的问题

    sublime中自建的有格式化按钮: Edit  ->  Line  ->  Reindent 只是sublime并没有给他赋予快捷键,所以只需加上快捷键即可 Preference  -& ...