1.实现a^b次方

package mainfunc main()  {r2 := power1(2,4)println(r2)
}
func power1(a uint64, b uint64) (r uint64) {         //a是底数,b是幂,返回rvar i uint64var temp uint64if a != 0{temp = 1for i=1;i<=b;i++{temp = temp * a}return temp}return //这里return只是占一个位置,不然会报错,实际不返回任何值;并且这个函数在调用时候,只能接收一个值,否则会报错
}

2.接收两个参数,返回两个数值

package mainfunc 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 mainimport "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]
testtest\n
test
ttt
test    tt
test tt

4.常量和变量

package mainimport "fmt"func main() {const a int = 0const 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 mainimport "fmt"func main() {const a int = 0const b string = "hello!!!"var c uintc = 1c = 2     //变量可以重新赋值,以最新的赋值为准//a = 2   //如果编译的话,这个地方会出错,因为给常量重新赋值了fmt.Println(a)fmt.Println(b)fmt.Println(c)
}

再举一个简单例子:

package mainimport "fmt"func main() {const (a = 0b = 1c = 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 mainimport "fmt"func main() {const (a = 0b = 1c = 2d)fmt.Println(a, b, c, d)
}

// 执行结果:0 1 2 2
package mainimport "fmt"func main() {const (i = iota //0a        //1b = "heh"c = "heh"d = iotae)fmt.Println(a, b, c, d, e)
}

  

iota的使用(可以给常量计数,出现一个常量的时候,会自增1,遇到const关键字后,自动变为0)

package mainimport "fmt"func main() {const (i = iota //0a        //1b = "heh"c = "heh"d = iotae)fmt.Println(a, b, c, d, e)
}

//执行结果:1 heh heh 4 5

转载于:https://www.cnblogs.com/chenadong/p/9048863.html

go语言练习:幂、函授接收和返回参数、转义字符、变量和常量相关推荐

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

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

  2. ajax 服务器怎么响应,Ajax 接收服务器返回的json响应方法

    1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript 规范的一个子集,采用完全独立于编程语 ...

  3. c语言整数幂怎么编译,c语言次方(c程序怎么编写x的y次方)

    for (i = 0; i < n; i++) { result *= num; // num 为底数,n 为幂, result 为结果 } 循环表示:S=a^10可表示为:for(int i= ...

  4. c语言exit在哪个头文件_C语言函数执行成功时,返回1和返回0,究竟哪个好?

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

  5. R语言使用table函数计算单分类变量的频率表(frequency table)、使用prop.table函数将table函数计算获得的频率表转化为比率表、返回单分类变量每一个类别的比率、或者百分比

    R语言使用table函数计算单分类变量的频率表(frequency table).使用prop.table函数将table函数计算获得的频率表转化为比率表.返回单分类变量每一个类别的比率.或者百分比. ...

  6. R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据、dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据

    R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据.dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据 目录

  7. R语言dplyr包使用anti_join()函数返回在一个dataframe中存在而在另一个dataframe中没有匹配值的所有行实战

    R语言dplyr包使用anti_join()函数返回在一个dataframe中存在而在另一个dataframe中没有匹配值的所有行实战 目录

  8. C语言:一个涉及指针函数返回值与printf乱码、内存堆栈的经典案例

    C语言:一个涉及指针函数返回值与printf乱码.内存堆栈的经典案例 一个奇怪的C语言问题,涉及到指针.数组.堆栈.以及printf.以下实现: 整数向字符串的转换,返回字符串指针,并在main函数中 ...

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

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 参考文章: (1)BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 (2)https://www. ...

最新文章

  1. Dom 学习总结及其实例
  2. ubuntu安装mysql远程_Ubuntu18.04下远程安装MySQL
  3. 北斗导航 | 估计地面车辆(无人车)的位姿(IMU+GPS:附Matlab源代码)
  4. Android蓝牙无法通信,android.bluetooth.BluetoothSocket无法连接
  5. 2012 人民搜索 实习生招聘 笔试题
  6. oracle数据库时分秒格式_Oracle如何输出指定格式的日期时间数据呢?
  7. 云上安全保护伞--SLS威胁情报集成实战
  8. JavaScript:避免代码的重复执行
  9. java webpack web项目_零基础如何学习web前端,入门教程分享
  10. tp5可以请求到linux根目录么,TP5 获取项目根目录路径
  11. 说说浏览器缓存里的websql与 indexeddb
  12. [RK3399][Android7.1] 调试笔记 --- 虚拟声卡驱动添加
  13. 高速PCB设计考虑的六个方面
  14. 深富策略短线获利了结为主
  15. DLL load failed: %1 不是有效的 Win32 应用程序的解决办法
  16. 在电脑中怎样画思维导图
  17. 用户答题接收答案,并存入数据库
  18. 关于C语言里面struct的相关知识
  19. 由于Windows无法加载这个设备所需要的驱动设备,导致这个设备工作异常(代码31)VMware Virtual Ethernet Adapter for VMnet1 or VMnet8
  20. UR_RTDE 在Linux安装与使用过程中遇到 一些坑

热门文章

  1. 千位亿万富豪调研:六成富豪担心继承人婚姻问题致财富外流
  2. 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
  3. Java---先设计一个Moveable可移动接口,然后分别设计 3 个类,即汽车Car、轮船Ship、飞机Aircraft来实现该接口,最后设计一个应用程序来使用它们。
  4. 031_yml配置文件
  5. 018_SpringBoot异常处理方式-ExceptionHandle注解处理异常
  6. 009_IOC注解开发
  7. 关于跨域 Response to preflight request doesn‘t pass access control check
  8. java如何保证redis设置过期时间的原子性_redis专题系列22 -- 如何优雅的基于redis实现分布式锁
  9. 卡迪夫大数据专业排名_大数据揭秘!英国名校哪些专业录取率低?申请人最多呢?...
  10. Notification详解