golang基础

cx558 cx558     2023-01-13     549

关键词:

1.go序列化,2.go读写文件,追加到文本方式,3.go的mysql增删改查操作

 

1.go系列化(引入encoding/json包)

package main
import (
    "fmt"
    "encoding/json"
)
type User struct
   NickName string `json:"nickname"`
   Age int
   Birthday string
   Sex string
   Email string
   Phone string
 
func main()
     user1 := &User  
      NickName: "上课看似",
      Age:  28,
      Birthday: "1990/12/12",
      Sex: "男",
      Email: "[email protected]",
      Phone: "13798491455",
     
      data, err := json.Marshal(user1)
      if err != nil
        fmt.Printf("json.marshal failed, err:", err)
       return
     
      fmt.Println(string(data))

----------------------------------------end----------------------------------------------------

 

2.go读写文件,追加方式(引入io/ioutil,os 包)

ioutil.ReadFile读文件方法,

package main
import(
 "io/ioutil"
 "fmt"
 "os"
)
func main()
  read, err := ioutil.ReadFile("log.txt")
  if err != nil
    fmt.Print(err)
 
 
  str :=string(read)
  fmt.Println(str)
 
    data := " hello haha ";
    appendToFile("log.txt",data)



func appendToFile(fileName string, content string) error
 // 以只写的模式,打开文件
   f, err := os.OpenFile(fileName, os.O_WRONLY, 0644)
   if err != nil
   fmt.Println("cacheFileList.yml file create failed. err: " + err.Error())
   else
   // 查找文件末尾的偏移量
   n, _ := f.Seek(0, os.SEEK_END)
   // 从末尾的偏移量开始写入内容
   _, err = f.WriteAt([]byte(content), n)
  
   defer f.Close()
   return err
 

---------------------------------------------------End---------------------------------------------------------------------

3.go的mysql操作

要安装mysql 包 go get github.com/go-sql-driver/mysql (成功执行pkg和src生成包文件)

 

技术分享图片

 

失败,确定GO环境配置成功,( https://www.cnblogs.com/wangqishu/p/5147108.html) 

 

package main
import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    //"strconv"
    //"encoding/json"
)
type Users struct
       id int
       uid int
       token string


func checkErr(err error)
    if err != nil
        panic(err)
   

func main()
    db, err := sql.Open("mysql", "root:[email protected](127.0.0.1:3306)/shoxot?charset=utf8")
    checkErr(err)
    
    //插入数据
    stmt,err:= db.Prepare("INSERT ot_token SET uid=?,token=?")
    checkErr(err)
    res, err := stmt.Exec(1008,"12312sfsdasd")
    checkErr(err)
    
    //获取永远id
    id, err:=res.LastInsertId()
    checkErr(err)
    fmt.Println(id)
    
    
    //修改数据    
    stmt, err = db.Prepare("UPDATE ot_token set uid=?,token=? where id=?")
    res, err = stmt.Exec(1055,"sss1111",108)
    affect, err := res.RowsAffected()
    fmt.Println(affect)
    
    
    //查询数据
    
    var users []Users = make([]Users,0)
    rows, err :=db.Query("select * from ot_token limit 10")
    for rows.Next()
      var u Users
      rows.Scan(&u.id,&u.uid,&u.token)    
      users = append(users,u)      
    
    //data, err := json.Marshal(users)
    fmt.Println(users)
    defer db.Close()

        

 























































































































golang基础语法

Golang基础语法通过以下指令查看Go的工作目录goenvGOPATHHello,World!packagemain//必须//导入其他包裹import("fmt" //输入输出)//主函数funmain()fmt.Println("Hello,Wo 查看详情

golang去基础(代码片段)

查看详情

golang之基础使用(代码片段)

  golang常用操作与命令 1.执行golang文件gorunhello_world.go 2.编译成可执行文件gobuildhello_world则会生成hello_world可执行文件,即可直接运行./hello_world  查看详情

golang基础(代码片段)

Go语言基础关键字break,default,func,interface,selectcase,defer,go,map,structchan,else,goto,package,switchconst,fallthrough,if,range,typecontinue,for,import,return,var定义变量varvariablenametype=valuevarvname1,vna 查看详情

golang基础

1.go序列化,2.go读写文件,追加到文本方式,3.go的mysql增删改查操作 1.go系列化(引入encoding/json包)packagemainimport(   "fmt"   "encoding/json")typeUserstruct  NickNamestring`json:"nickn 查看详情

golang基础类型转换string

packagemainimport( "fmt" "strconv" "unsafe")funcmain() //基础类型转换string varstrstring varaint=10 varbfloat32=123.456 varcbool=true varduint8=‘a‘ //将上面的基础类型转换成string //第一种方式通过fmt.sPrintf()转换string str=fm 查看详情

golang基础练习(代码片段)

//遍历mappackagemainimport"fmt"funcmain()x:=make(map[string]int)x["zhangsan"]=3x["lisi"]=4x["wangwu"]=5//#丢弃值fori,_:=rangexfmt.Println(i)//匿名函数packagemainimport"fmt"funcmain()f:=func(x,yint)intret 查看详情

golang基础知识1

1.slice和arraypackagemainimport(     "fmt"  )funcmain(){   s:=[]int{1,2,3}   ss:=s[1:]   fori:=rangess{     ss[i]+=10      //slice中改变数组的值会将原数组中的值改变   }   fmt.Println(s)   ss=append(ss,4) //a 查看详情

golang基础类型

  1.变量  Go使用关键字var定义变量,类型信息放在变量名后面,初始化为零,如下:     在函数内部还有一种更简洁的:=定义方式     变量赋值,两个变量可直接交换     注意:函数内部定义的变... 查看详情

golang基础归纳(代码片段)

1.hello-worldpackagemainimport"fmt"funcmain()fmt.Println("Helloworld,GoGo!");fmt.Printf("typeofHellois%T\n","Hello")packagemain--每一个Go文件都应该在开头进行packagename的声明(注:只有可执行程序的包名为main)。包用于代码的封装与重用,这里包名为mai 查看详情

golang简明入门进阶指南01golang基础变量函数条件控制(代码片段)

说明本文目的:学习golang必须掌握的基本语法和概念前置条件:搭建号golang环境并输出helloworld一、变量和常量这部分要分清golang语言的优势特性1.1变量声明名称在前,类型在后,重点突出变量声明既有初值,... 查看详情

golang✔️走进go语言✔️第二课语法基础(代码片段)

【Golang】✔️走进Go语言✔️第二课语法基础概述Go语法基础关键字标识符数据类型变量声明多变量声明值类型和引用类型概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第2课)Go语法基础Go程... 查看详情

万字golang基础知识(肝爆三天三夜,手撕golang基本语法结构)(代码片段)

Golang基础知识1初识Golang1.1Go的语法要求1.1.1token1.2变量和常量变量常量1.3基本数据类型1.3.1布尔类型1.3.2整型1.3.3浮点型1.3.4复数类型1.3.5字符串1.3.6rune类型1.4复合数据类型1.4.1指针1.4.2数组1.4.3切片1.4.4map1.4.5struct1.5控制语句1.5.1if语... 查看详情

golang基础-chain的使用rangeselect(代码片段)

文章目录chan基础使用range获取select多队列chan基础使用我们直接来看代码packagemainimport( "fmt" "time")varmessage=make(chanstring)funcgo1() message<-"hello1" message<-"hello2" message&l 查看详情

算法基础:最大递减数问题(golang实现)

给出一个非负整数,找到这个非负整数中包括的最大递减数。一个数字的递减数是指相邻的数位从大到小排列的数字。如:95345323,递减数有:953,95,53,53,532,32,那么最大的递减数为953。假设输入的数字为负数,返回-1。假设找不到... 查看详情

golang基础篇

一、切片:1、主要看指针指向位置比如一个切片vars[]int1,2,3,4,5,6,7指针指向0位长度是7,容量是7a:=s[2:4]指针指向index为2为a长度是2(元素是2,3)容量是5(从index为2往右算或者max_len减去开始index,即7-2=5 二、defer延迟处理执行机制:... 查看详情

golang基础知识3

断言:参考 https://studygolang.com/articles/3314var.(T)类型断言失败时会返回T类型的“0值”,而不是变量原始值。var是要判断的变量,T类型,例如:sss.(string),T是type最好用的是interface或者一个strcut其中var为interface{}类型T是要断言的... 查看详情

golang基础-waitgroupkafka消费者

kafka消费者以下博客是通过生产者创建、发送消息至kafka 博客链接现在我们站在消费者的角度,来进行收取消息packagemainimport("fmt""strings""sync""github.com/Shopify/sarama")var(wgsync.WaitGroup)funcmain(){//创建消费者consumer,err:=sarama.NewConsumer(s 查看详情