(Golang) 牛客 在线编程 Go语言入门

牛客Go语言入门题集AC代码与语法记录
本文是牛客在线编程GO语言入门题集的个人解析,展示AC代码以记录GO基础语法。包含输出打印、变量、常量、指针等多方面内容,还给出了Go的学习资料链接,适合初学者巩固Go语言基础语法。

前言

本文为牛客的在线编程的GO语言入门题集的个人解析

链接:牛客网在线编程_语法篇_GO语言入门

本人主语言C/C++ 来这边刷一下GO的入门语法题,这个题库很基础很入门真的就是纯考GO语法

本文虽然是展示AC代码,但实际是为了记录GO的各种基础语法,便于以后遗忘了可以查看

牛客的环境是版本:Go 1.14

Go的学习资料链接

相关资料链接:

Go 语言教程 | 菜鸟教程 (runoob.com)

《Go 入门指南》 | Go 技术论坛 (learnku.com)

Go by Example 中文版 (gobyexample-cn.github.io)

7天用Go从零实现分布式缓存GeeCache | 极客兔兔 (geektutu.com)

Go 语言设计与实现 | Go 语言设计与实现 (draveness.me)

AC代码

01 输出打印

GP1 go的第一个程序

package main

import (
    "fmt"
)

func main() {
   
   
    fmt.Println("Hello World!")
}

02 变量

GP2 小明信息

package main

import (
    "fmt"
)

type Person struct {
   
   
    name string
    age int
    sex bool
}

func main() {
   
   
    man := Person{
   
   "小明", 23, true}

    fmt.Printf("%s\n%d\n%v\n", man.name, man.age, man.sex)
}

GP3 个人信息

package main

import  "fmt"

func main() {
   
   
    num, b := 0, false
    fmt.Printf("\n%d\n%v\n", num, b)
}

03 常量

GP4 国家名称

package main

import  "fmt"

func main() {
   
   
    const (
        China = "中国"
        English = "英国"
        America = "美国"
    )

    fmt.Println(China)
    fmt.Println(English)
    fmt.Println(America)
}

04 指针

go 里的指针,有时用起来更像引用

GP5 值和指针

package main

func equal( a int ,  b int ) []bool {
   
   
    return []bool{
   
   &a == &b, a == b}
}

05 字符串

GP6 拼接字符串

package main
// import "fmt"

func join( s []string ) string {
   
   
    var str string
    // _ 占位符,不会报错
    for _, ss := range s {
   
   
        str += ss
    }
    return str
}

GP7 字符数量

package main
// import "fmt"

func count( s string ) int {
   
   
    runes := []rune(s) 
    return len(runes)
}

GP8 回文数

package main
import "strconv"

func isPalindrome( x int ) bool {
   
   
    str := strconv.Itoa(x)

    i, j := 0, len(str) - 1
    for ; i < j && str[i] == str[j]; i, j = i + 1, j - 1 {
   
   
    }
    return i >= j
}

06 类型转换

GP9 格式化字符串

知识点:

Go 使用 import 关键字来导入包

Go 可以使用 fmt.Sprintf 来格式化字符串,fmt.Sprintf(格式化样式, 参数列表…),格式化样式如下:

%v 按值的本来值输出

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

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

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

%% 输出 % 本体

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

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

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

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

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

%U Unicode 字符

%f 浮点数

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

package main
import "strconv"

func formatstr( num int ) string {
   
   
    return strconv.Itoa(num)
}

GP10 字符求和

知识点:

golang strconv.ParseInt 是将字符串转换为数字的函数,参数1 数字的字符串形式,参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制,参数3 返回结果的bit大小 也就是int8 int16 int32 int64

package main
import "strconv"

func sum( a string ,  b string ) string {
   
   
    anum, _ := strconv.Atoi(a)
    bnum, _ :=strconv.Atoi(b)
    return strconv.Itoa(anum + bnum)
}

07 运算符

GP11 长方形的周长

package main
// import "fmt"

func perimeter( a int ,  b int ) int {
   
   
    return 2 * (a + b)
}

GP12 温度转换

package main
// import "fmt"

func temperature( f float64 ) float64 {
   
   
    return (f - 32.0) / 1.8
}

GP13 工程时间

package main

import (
    "fmt"
)
func main() {
   
   
    const Day = 97
    fmt.Println(Day / 7)
    fmt.Println(Day % 7)
}

GP14 器材采购

package main
import "sort"

func compare( x int ,  y int ,  z int ) int {
   
   
    nums := []int{
   
   x, y, z}
    sort.Ints(nums)
    return nums[len(nums) - 1] - nums[0]
}

GP15 逻辑运算

package main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天赐细莲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值