<prompt> Andika programu ya Golang inayotoa API rahisi ya RESTful yenye ncha za kuunda, kusoma, kusasisha, na kufuta rekodi katika hifadhidata ya SQLite.  <response>: nendakifurushi kikuukuagiza databasesqlusimbajijsonfmtloginethttpstrconvgithub.comgorillamux_ github.commattngo-sqlite3aina ya muundo wa rekodi Kitambulisho int json:idMfuatano wa jina json:jinaMfuatano wa thamani json:thamanivar db sql.DBfunc main kosa kosadb, err sql.Funguasqlite3, .records.dbikiwa makosa ! nil log.Fatalhitilafuahirisha db.Fungakipanga njia : mux.NewRouterrouter.HandleFuncapirekodi, createRecord.NjiaPOSTrouter.HandleFuncapirekodi, getRecords.NjiaGET.router.HandleFuncapirecordsid, getRecord.NjiaGET.router.HandleFuncapirecordsid, updateRecord.NjiaPUT.router.HandleFuncapirecordsid, deleteRecord.NjiaFUTA.fmt.PrintlnSeva inayoendesha bandari 8000...log.Fatalhttp.ListenAndServe:8000, kipanga njiafunc createRecordw http.ResponseWriter, r http.Ombi w.Header.WekaAina ya Maudhui, programujsonvar rekodi Rekodijson.NewDecoderr.Body.Simbuarekodistmt, err : db. TayarishaINGIZA rekodijina, thamani THAMANI?, ?ikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudires, err : stmt.Execrecord.Name, record.Valueikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudilastID, err : res.LastInsertIdikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudirecord.ID intlastIDjson.NewEncoderw.Simbarekodifunc getRecordsw http.ResponseWriter, r http.Ombi w.Header.WekaAina ya Maudhui, programujsonsafu mlalo, kosa : db.QueryCHAGUA kitambulisho, jina, thamani KUTOKA rekodiikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudiahirisha safu.Fungavar rekodi Rekodikwa safu.Next var rekodi Rekodimakosa safu.Changanuarecord.ID, record.Name, record.Valueikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudirekodi ongeza rekodi, rekodijson.NewEncoderw.Encoderekodifunc getRecordw http.ResponseWriter, r http.Ombi w.Header.WekaAina ya Maudhui, programujsonparams : mux.Varsrid, _ : strconv.Atoiparamsidsafu mlalo : db.QueryRowCHAGUA kitambulisho, jina, thamani KUTOKA rekodi WHERE id?, kitambulishovar rekodi Rekodikosa : safu.Changanuarecord.ID, record.Name, record.Valueikiwa kosa sql.ErrNoRows http.Haijapatikanaw, rkurudi vinginevyo ikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudijson.NewEncoderw.Simbarekodifunc updateRecordw http.ResponseWriter, r http.Ombi w.Header.WekaAina ya Maudhui, programujsonparams : mux.Varsrid, _ : strconv.Atoiparamsidvar rekodi Rekodijson.NewDecoderr.Body.Simbuarekodistmt, err : db. TayarishaSASISHA rekodi SET name?, value? WHERE id?ikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudires, err : stmt.Execrecord.Name, record.Value, idikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudirowsAffected, err : res.RowsAffectedikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudiikiwa safu zimeathirika 0 http.Haijapatikanaw, rkurudirekodi.ID idjson.NewEncoderw.Simbarekodifunc deleteRecordw http.ResponseWriter, r http.Ombi w.Header.WekaAina ya Maudhui, programujsonparams : mux.Varsrid, _ : strconv.Atoiparamsidstmt, err : db. TayarishaFUTA KUTOKA rekodi WAPI id?ikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudires, makosa : stmt.Execidikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudirowsAffected, err : res.RowsAffectedikiwa makosa ! nil http.Errorw, err.Error, http.StatusInternalServerErrorkurudiikiwa safu zimeathirika 0 http.Haijapatikanaw, rkurudijson.NewEncoderw.Encodemapstringstringresult: successKabla ya kuendesha programu, hakikisha kuunda hifadhidata ya SQLite na schema ifuatayo: sqlTUNZA rekodi za TABLE id INTEGER PRIMARY Key OUTOINCREMENT, jina TEXT NOT NULL, thamani TEXT NOT NULL;Hifadhi msimbo huu wa SQL katika faili inayoitwa schema.sql na utekeleze amri ifuatayo ili kuunda hifadhidata:bashisqlite3 records.db schema.sqlSasa unaweza kuunda na kuendesha programu ya Golang. Itatumikia API ya RESTful kwenye bandari 8000 yenye ncha za kuunda, kusoma, kusasisha, na kufuta rekodi katika hifadhidata ya SQLite. 