Go学习笔记(第一天)

Go学习笔记(第一天)

利用ChatGPT出题,进行编写

学习golang第一天,在菜鸟教程迅速过完golang基础知识,找ChatGPT为我出了五道题,历时40分钟完成。

问:
我现在学习了golang的变量 常量 函数 判断 循环 slice map range等知识 请你出五道题来检验我的学习成果
GPT答:
当然,我可以为您出五道关于Go语言的问题来检验您的学习成果。请注意,这些问题涵盖了您提到的不同主题,包括变量、常量、函数、判断、循环、切片、映射和范围。希望这些问题能帮助您巩固所学知识。
1.请写一个Go函数,接受两个整数作为参数,返回它们的和。
2.在Go语言中,如何声明一个不可变的常量?请提供一个示例。
3.使用Go语言编写一个循环,打印出1到10之间的所有偶数。
4.假设您有一个切片(slice)包含整数 [1, 2, 3, 4, 5],编写一个Go函数,将切片中的每个元素都加倍,并返回结果。
5.编写一个Go程序,创建一个映射(map),将一些国家的首都与其对应的国家关联起来。然后,编写代码来查找特定国家的首都并打印出来。
希望这些问题对您有帮助,同时也希望您能够成功回答它们以巩固您的Go语言知识。如果您有任何问题或需要进一步解释,请随时告诉我。
问:请帮我出一些综合性的题
GPT答:
当然,下面是一些综合性的Go语言问题,它们涉及多个方面的知识。这些问题将考察您的能力综合应用不同概念和技巧。
1.编写一个Go程序,提示用户输入一个数字,并确定该数字是奇数还是偶数,然后打印出结果。
2.创建一个Go函数,接受一个整数切片和一个目标整数作为参数。函数应该返回目标整数在切片中的索引位置,如果目标整数不在切片中,则返回-1。
3.编写一个Go程序,生成斐波那契数列的前20个数字并将它们打印出来。斐波那契数列的定义是前两个数字都是1,后面的数字是前两个数字之和。
4.创建一个Go程序,用于计算给定半径的圆的面积和周长。您可以使用数学包来执行必要的数学运算。
5.编写一个Go函数,接受一个字符串作为参数,然后返回一个新字符串,其中所有的元音字母都被替换为大写字母。例如,如果输入 “hello”,则输出应为 “hEllO”。
这些问题将考察您在Go语言中的基本编程能力和一些高级概念的应用。希望它们能够帮助您继续巩固和拓展您的知识。如果您需要更多综合性问题或需要解释,请随时告诉我。

代码实现

/*
当然,下面是一些综合性的Go语言问题,它们涉及多个方面的知识。这些问题将考察您的能力综合应用不同概念和技巧。
1.编写一个Go程序,提示用户输入一个数字,并确定该数字是奇数还是偶数,然后打印出结果。
2.创建一个Go函数,接受一个整数切片和一个目标整数作为参数。函数应该返回目标整数在切片中的索引位置,如果目标整数不在切片中,则返回-1。
3.编写一个Go程序,生成斐波那契数列的前20个数字并将它们打印出来。斐波那契数列的定义是前两个数字都是1,后面的数字是前两个数字之和。
4.创建一个Go程序,用于计算给定半径的圆的面积和周长。您可以使用数学包来执行必要的数学运算。
5.编写一个Go函数,接受一个字符串作为参数,然后返回一个新字符串,其中所有的元音字母都被替换为大写字母。例如,如果输入 "hello",则输出应为 "hEllO"。
这些问题将考察您在Go语言中的基本编程能力和一些高级概念的应用。希望它们能够帮助您继续巩固和拓展您的知识。如果您需要更多综合性问题或需要解释,请随时告诉我。
*/
package main

import (
	"fmt"
	"math"
)

func judgeNumber(number int) {
	if number%2 == 0 {
		fmt.Println("偶数")
	} else {
		fmt.Println("奇数")
	}
}

func getPosition(slice1 []int, number int) int {
	flag := false
	for i, v := range slice1 {
		if v == number {
			flag = true
			return i
		}
	}
	if flag == false {
		return -1
	}
	return -1
}

func fibonacci() []int {
	slice := []int{1, 1}
	for i := 0; i < 20; i++ {
		if i > 1 {
			slice = append(slice, []int{slice[i-1] + slice[i-2]}...)
		}
	}
	return slice
}

func processRound(number int) (float32, float32) {
	s := (math.Pi * float32(number)) * (math.Pi * float32(number))
	c := math.Pi * float32(number)
	return s, c
}

func convertUpper(input string) string {
	letters := "aeiou"
	uppers := "AEIOU"
	inputBytes := []byte(input)
	for i := 0; i < len(inputBytes); i++ {
		for i2 := 0; i2 < len(letters); i2++ {
			if inputBytes[i] == letters[i2] {
				inputBytes[i] = uppers[i2]
			}
		}
	}
	result := string(inputBytes)
	return result
}

func main() {
	judgeNumber(3)
	fmt.Println(getPosition([]int{1, 2, 3, 4, 5}, 4))
	fmt.Println(fibonacci())
	fmt.Println(processRound(2))
	fmt.Println(convertUpper("iloveyou"))
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值