Go:常用语法练习(二)

1.类型转换:格式化字符串

题目要求:

给定一个正整数,将其转换为字符串类型。

运行结果示例:

考点:

        Go 可以使用 fmt.Sprintf 来格式化字符串,格式如下:

fmt.Sprintf(格式化样式, 参数列表…)
  • 格式化样式:

        %v   按值的本来值输出

        %+v  在 %v 基础上,对结构体字段名和值进行展开

        %#v  输出 Go 语言语法格式的值

        %T   输出 Go 语言语法格式的类型和值

        %%   输出 % 本体

        %b   整型以二进制方式显示

        %o   整型以八进制方式显示

        %d   整型以十进制方式显示

        %x   整型以十六进制方式显示

        %X   整型以十六进制、字母大写方式显示

        %U   Unicode 字符

        %f   浮点数

        %p   指针,十六进制方式显示

  • 参数列表:

        多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则运行时会报错。

运行代码示例:

func formatstr( num int ) string {
    // write code here
    return fmt.Sprintf("%d", num)
}

2.类型转换:字符求和

题目要求:

给定两个字符串类型的数字,求这两个数字之和,并返回字符串形式。

运行结果示例:

考点:

        go语言中字符串和各种int类型之间的相互转换方式:

        string转成int:

int, err := strconv.Atoi(string)

        int转成string:

string := strconv.Itoa(int)

运行代码示例:

func sum( a string ,  b string ) string {
    // write code here
    num1, _:= strconv.Atoi(a)
    num2, _:= strconv.Atoi(b)
    res := num1 + num2
    return strconv.Itoa(res) 
}

3.运算符:长方形的周长

题目要求:

已知一个长方形的长,宽,求这个长方形的周长,周长=2*(长+宽)。

运行结果示例:

考点:

        go语言中的算术运算符:

运行代码示例:

func perimeter( a int ,  b int ) int {
    // write code here
    return 2*(a + b)
}

4.运算符:温度转换

题目要求:

定义一个变量保存华氏温度,华氏温度转换摄氏度的公式为:5/9*(华氏温度-100),求出华氏温度对应的摄氏温度。

运行结果示例:

考点:

        本题目中给出的计算公式有误,正确公式是:

   C = 5×(F- 32)/9

   F = 9×C /5+32

运行代码示例:

func temperature( f float64 ) float64 {
    // write code here
    return 5 * (f- 32) /9
}

5.运算符:工程时间

题目要求:

某项工程完成用了97天,用了多少个星期,零几天, 按照星期,天数逐行打印输出。

运行结果示例:

考点:

        某项工程完成用了97天,用了多少个星期零几天可以使用除和取余来计算,使用97除以7计算得出整数部分,即几个整星期,再用97除以7取余,即零几天。

        go语言中,算术运算符/, % 分别表示除法,取余。

运行代码示例:

func main() {
    fmt.Println(97 / 7)
    fmt.Println(97 % 7)
}

6.运算符:器材采购

题目要求:

现要采购一批器材,同时有三个厂商在卖,单位价格分别为 a,b,c, 比较这三家厂商的价格,返回 价格的差值=最高价格-最低价格。

运行结果示例:

考点:

        关系运算符:

运行代码示例:

func compare( x int ,  y int ,  z int ) int {
    // write code here
    var max, min int

    if x > y {
        max = x
        min = x
    } else {
        max  = y
        min = x
    }
    if max < z {
        max = z
    }
    if min > z {
        min = z
    }
   return max - min
}

7.运算符:逻辑运算

题目要求:

给定两个bool类型变量a,b,求出这两个bool类型变量的逻辑and,or,not a,not b的值,将依次存入一个切片中,然后返回这个切片。

运行结果示例:

考点:

        逻辑运算符:

运行代码示例:

func logicalOperation( a bool ,  b bool ) []bool {
    // write code here
    res := []bool{a && b, a || b, !a, !b}
    return res
}

8.运算符:位运算

题目要求:

已知a,b两个int类型变量,求出这两个变量的与,或,异或值,将结果依次存入切片中,然后返回这个切片。

运行结果示例:

考点:

        位运算符:

运行代码示例:

func bitOperate( a int ,  b int ) []int {
    // write code here
    var res = []int{ a & b, a | b, a ^b}
    return res
}

猜你喜欢

转载自blog.csdn.net/Liu_y_xin/article/details/142106056