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. Dynamo(Amazon分布式存储引擎)

    参考资料: http://blog.csdn.net/zgl_dm/article/details/6291984 http://blog.csdn.net/cywosp/article/detail ...

  2. java+hibernate+mysql

    实体类News package org.mythsky.hibernatedemo; import javax.persistence.*; @Entity @Table(name="new ...

  3. [个人项目] 使用 Vuejs 完成的音乐播放器

    Foreword 虽然音乐播放这类的项目的静态展示居多,业务逻辑并不复杂,但是对于我这种后端出身的前端萌新来说,能使用vuejs完成大部分功能, 也会有许多收获. api:我使用的是一个开源的 nod ...

  4. Android H5调起原生微信或支付宝支付

    Android H5调起原生微信或支付宝支付 WebView调用原生微信或支付宝回调:其原理就是在shouldOverrideUrlLoading(final WebView view, String ...

  5. notecase的下载与安装(全网最详细)(图文详解)

    不多说,直接上干货! notecase是什么? 一个按照树状结构来组织文档内容的笔记管理程序 1.双击 2.aceept 3.选择安装所放置的目录路径 4.选择开启目录文件夹 我这里,保持默认 建议默 ...

  6. Python基础内容

    1.注释 #单行注释 ‘“多行注释”’ 2.变量 Python没有声明变量的过程(动态类型) 变量名=值,如果是浮点数就定义为浮点类型,如果是整型就定义为整型,如果是字符串就定义为字符串 3.输入和输 ...

  7. 详解C#特性和反射(二)

    使用反射(Reflection)使得程序在运行过程中可以动态的获取对象或类型的类型信息,然后调用该类型的方法和构造函数,或访问和修改该类型的字段和属性:可以通过晚期绑定技术动态的创建类型的实例:可以获 ...

  8. es-05-获取 resthighlevelclient及api

    在6.x以前, 使用最多的是transportclient, 但在7.x会被废弃, 先说以前的创建方式: 具体可见:https://www.cnblogs.com/wenbronk/p/6383194 ...

  9. linux 初始化工作环境

    #!/bin/sh # # init workspace # /bin/svnserve -d -r /home/oracle/projects --listen-port= su - oracle ...

  10. APIX招聘